循环数组,返回奇数和偶数

Tra*_*ace 0 javascript loops

我正在教自己的代码,我正试图解决这个问题:

编写循环遍历nums的循环,如果项目是偶数,则将其添加到evens数组,如果项目为奇数,则将其添加到odds数组.

这是我到目前为止:

var nums = [1,2,34,54,55,34,32,11,19,17,54,66,13];
var evens = [];
var odds = [];

var evenNumbers = function(nums) {
    for (var i = 0; i < nums.length; i++) {

        if ((nums[i] % 2) != 1) {
            evens.push(nums[i]);
                console.log(evens);
        }
        else {
            odds.push(nums[i]);
                console.log(odds);
        }
    }

};

alert(evens);
alert(odds);
Run Code Online (Sandbox Code Playgroud)

他们没有返回任何东西,我不知道我哪里出错了,任何帮助都会非常感激.

lir*_*zan 8

我建议使用ES6语法检查array.prototype.filter函数:

const oddNumbers = [1,2,34,54,55,34,32,11,19,17,54,66,13].filter((number) => number%2!==0);
console.log(oddNumbers);
Run Code Online (Sandbox Code Playgroud)

太优雅了:)


Cas*_*ule 7

你实际上并没有执行这个功能.你需要调用evenNumbers();

var nums = [1,2,34,54,55,34,32,11,19,17,54,66,13];
var evens = [];
var odds = [];

var evenNumbers = function(nums) {
    for (var i = 0; i < nums.length; i++) {

        if ((nums[i] % 2) != 1) {
            evens.push(nums[i]);
                console.log(evens);
        }
        else {
            odds.push(nums[i]);
                console.log(odds);
        }
    }

};

evenNumbers(nums);
alert(evens);
alert(odds);
Run Code Online (Sandbox Code Playgroud)