Javascript 多阵列推送错误 let evenOdd=(数组)=>{ 让newArray=[],[]; 对于(i=0;i

Javascript 多阵列推送错误 let evenOdd=(数组)=>{ 让newArray=[],[]; 对于(i=0;i,javascript,arrays,Javascript,Arrays,您需要删除第二个访问: let evenOdd = (array) => { let newArray = [[],[]]; for (i=0; i<array.length; i++) { if (array[i] % 2 === 0) { newArray[0][0].push(array[i]); } else { newArray[0][1].push(array[i]); } } return newArra

您需要删除第二个访问:

let evenOdd = (array) => {
  let newArray = [[],[]];

  for (i=0; i<array.length; i++) {
    if (array[i] % 2 === 0) {
      newArray[0][0].push(array[i]);
    } else {
      newArray[0][1].push(array[i]);
    }
  }
  return newArray;
}
let evenOdd=(数组)=>{
让newArray=[],[];

对于(i=0;i无需为内部数组指定索引,更新代码:

newArray[0][0].push(array[i]);
            ^
var evenOdd=函数(数组){
var newArray=[],[];

对于(i=0;i你应该这样做

var evenOdd = function(array) {
    var newArray = [[], []];

    for (i=0; i<array.length; i++) {
        if (array[i] % 2 === 0) {
            newArray[0].push(array[i]);
        } else {
            newArray[1].push(array[i]);
        }
    }
    return newArray;
}

console.log(evenOdd([1,2,3,4,5,6]));

很好的方法,但不是最优的,因为它将循环数组两次。
const oddEven = array => [
    array.filter(e => e%2),
    array.filter(e => !(e%2))

];