Я пытаюсь создать функцию, которая группирует массив чисел на основе параметра длины. Длина представляет собой максимальную длину каждого подмассива. Код работает так же, как и для получения подмассивов, но я бы хотел отсортировать его по четным и нечетным.
function myFunctionA(myArr1, myVal) {
newArr = [];
for ( x = 0; x < myArr1.length; x += myVal) {
newArr.push(myArr1.slice(x, x + myVal));
}
return newArr;
}
Console.log(myfunction([1,2,3,4,5,6,7,8,9,10],3))
Это возвращает [[1,2,3],[4,5,6],[7,8,9],[10]]
То, что я хотел бы сделать, это go через каждый подмассив за раз, пока подмассивы не станут правильной длины и добавить любые оставшиеся значений в подмассив / с
Это будет выглядеть как
[[1,3,5][2,4,6][7,9][8,10]]
Поскольку arr 0 и arr 1 являются правильной длиной, которую мы указали в операторе console.log, 7 8 9 и 10 остались. Но поскольку они не могут создать полный подмассив, а они четные и нечетные, они образуют два подмассива со стороной 2.
Другие примеры:
myfunction([1,2,3,4,5,6,7],2)
Should return [[1,3],[2,4],[5,7],[6]]
myfunction([1,2,3,4,5,6,7,8],1)
Should return [[1][2][3][4][5][6][7][8]]