我正在教自己的代码,我正试图解决这个问题:
编写循环遍历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)
他们没有返回任何东西,我不知道我哪里出错了,任何帮助都会非常感激.
我建议使用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)
太优雅了:)
你实际上并没有执行这个功能.你需要调用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)