Сделать 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]; Т.е. забирать значение через каждые три элемента Как это сделать? |
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);
|
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);
|
| Часовой пояс GMT +3, время: 02:36. |