JS数组没有正确显示?

时间:2014-09-25 03:20:53

标签: javascript arrays if-statement for-loop push

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

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

var sorter = function() {
    for (var i = 0; i < nums.length; i++) {
        if (nums[i]%2 !== 0) {
            odds.push(i);
        }
        else {
            evens.push(i);
        }
    }
};
sorter();
console.log(evens);
console.log(odds);

1 个答案:

答案 0 :(得分:2)

问题是您正在将迭代器推送到数组。你应该这样做:

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

var sorter = function() {
    for (var i = 0; i < nums.length; i++) {
        if (nums[i]%2 !== 0) {
            odds.push(nums[i]);
        }
        else {
            evens.push(nums[i]);
        }
    }
};
sorter();
console.log(evens);
console.log(odds);

请参阅小提琴here