NodeJS 为偶数和奇数创建单独的数组

oxcyiej7  于 2023-03-22  发布在  Node.js
关注(0)|答案(2)|浏览(148)

这是初学者级别。我试图从父数组中为奇数和偶数创建单独的数组。下面的代码:

const arr = [22, 33, 44, 55, 66]
let even = []
let odd = []


function separateArray(arr) {

    let j, k

    for( let i = 0; i < arr.length; i++ ) {

        if( arr[i]%2 === 0 ){

            even[j] = arr[i]
            j++

        }else {

            odd[k] = arr[i]
            k++

        }
        
    }   
}

separateArray(arr)

for( let i = 0; i < even.length; i++ ) {

    console.log(even[i])

}

我尝试调用函数separateArray,然后在控制台中记录偶数。但它不显示任何内容。

w8rqjzmb

w8rqjzmb1#

您在控制台中看不到任何内容的原因是您尚未初始化jk的值。
在JavaScript中,访问一个未定义的变量会导致ReferenceError。在将jk用作数组索引之前,需要将它们初始化为0:

const arr = [22, 33, 44, 55, 66];
let even = [];
let odd = [];

function separateArray(arr) {
  let j = 0,
    k = 0;
  for (let i = 0; i < arr.length; i++) {
    if (arr[i] % 2 === 0) {
      even[j] = arr[i];
      j++;
    } else {
      odd[k] = arr[i];
      k++;
    }
  }
}

separateArray(arr);

for (let i = 0; i < even.length; i++) {
  console.log(even[i]);
}
vuktfyat

vuktfyat2#

只是为了好玩,这里是你将能够做的一天,当你进入更先进的javascript...

const arr = [22, 33, 44, 55, 66]

const [even, odd] = arr.reduce((a,c)=>(a[c%2].push(c),a),[[],[]])

console.log(odd)
console.log(even)

相关问题