Я пытаюсь поместить каждый элемент в массиве, который находится в нечетной позиции, в массив и то же самое с элементами в четных позициях. Например:
var arr = [a, b, c, d, e, f, g];
//Would give me this
var odd = [a, c, e, g];
var even = [b, d, f];
У меня есть код, который работает с циклом for, и он выглядит так:
for (var i=0;i<arr1.length;i++){
if ((i+2)%2==1) {
even.push(arr1[i]);
} else {
odd.push(arr1[i]);
}
}
но вместо использования цикла for я хочу использовать цикл forEach. Вот что я сделал:
var arr1 = [1,1,2,2,3,8,4,6];
arr1.forEach(x => {
if((x) % 2 == 0) {
even.push(x);
} else {
odd.push(x);
}
});
но это не работает, вместо вывода этого:
even = [ 1, 2, 8, 6 ];
odd = [ 1, 2, 3, 4 ];
Это выводит это, что неправильно:
even = [ 2, 2, 8, 4, 6 ];
odd = [ 1, 1, 3 ];
Таким образом, вместо вывода элемента, который находится в нечетном или четном положении в массиве, он выводит элементы, которые являются нечетными или четными.
Заранее спасибо!