
24.02.2023, 18:12
|
Кандидат Javascript-наук
|
|
Регистрация: 26.04.2016
Сообщений: 106
|
|
Сделать 4 массива из одного
Есть массив данных
var arr = [2, 4, 6, 8, 10, 12, 14, 16, 18, 20, 22, 24, 26, 28]
Из него нужно сделать четыре массива
var one =[2, 10, 18, 26];
var two =[4, 12, 20, 28];
var three =[6, 14, 22, 30];
var four =[8, 16, 24, 32];
Т.е. забирать значение через каждые три элемента
Как это сделать?
|
|

24.02.2023, 18:59
|
 |
Профессор
|
|
Регистрация: 03.02.2020
Сообщений: 2,759
|
|
var arr = [2, 4, 6, 8, 10, 12, 14, 16, 18, 20, 22, 24, 26, 28];
var one = [];
var two = [];
var three = [];
var four = [];
const arrs = [one, two, three, four];
for (let i = 0; i < arr.length; i++)
arrs[i%4].push(arr[i]);
console.log(one, two, three, four);
|
|

26.02.2023, 00:10
|
 |
Профессор
|
|
Регистрация: 27.05.2010
Сообщений: 33,136
|
|
yaparoff,
let arr = [2, 4, 6, 8, 10, 12, 14, 16, 18, 20, 22, 24, 26, 28, 30, 32];
const divide = (arr, i = 4) => arr.reduce((ar, el, k) => {
k %= i;
ar[k] ? ar[k].push(el) : (ar[k] = [el])
return ar
}, [])
const [one, two, three, four] = divide(arr);
console.log(one, two, three, four);
|
|
|
|