我不太清楚为什么我的代码在这里不起作用。它应该过滤掉奇数和偶数并将它们放入一个数组中,但我认为我(缺乏)理解是将数字放入数组中我想要的。
function oddAndEven(numbers) {
var odd = [];
var even = [];
for (num = 0; num < numbers.length; numbers++) {
if (numbers[num] % 2 == 0) {
even.push(numbers[num]);
} else if (numbers[num] % 2 == 1) {
odd.push(numbers[num]);
}
}
console.log(odd + "is odd and " + even + " is even");
}
iqTest(11221122);
答案 0 :(得分:0)
function oddAndEven(numbers) {
var odd = [];
var even = [];
for (num = 0; num < numbers.length; num++) { // numbers is array, num is counter variable
if (numbers[num] % 2 == 0) {
even.push(numbers[num]);
} else if (numbers[num] % 2 == 1) {
odd.push(numbers[num]);
}
}
console.log(odd + " is odd and " + even + " is even");
}
oddAndEven([10,5,6,4,5]); // pass array as you are traversing though it
答案 1 :(得分:0)
在你的情况下没有增加循环变量。请试试这个。
ipdb> !help(sum)
Help on built-in function sum in module builtins:
sum(iterable, start=0, /)
Return the sum of a 'start' value (default: 0) plus an iterable of numbers
When the iterable is empty, return the start value.
This function is intended specifically for use with numeric values and may
reject non-numeric types.
ipdb>
答案 2 :(得分:0)
试试这个,
function oddAndEven(numbers) {
var odd = [];
var even = [];
for (num = 0; num < numbers.length; numbers++) {
if (numbers[num] % 2 == 0) {
even[num]=numbers[num];
} else if (numbers[num] % 2 == 1) {
odd[num]=numbers[num];
}
}
console.log(odd + "is odd and " + even + " is even");
}
答案 3 :(得分:0)
您似乎更多地改善了您的练习。
function oddAndEven(numbers) {
var odd = [];
var even = [];
console.log ("length is " , numbers.length);
for (num = 0; num < numbers.length; num++) {
if (numbers[num] % 2 == 0) {
even.push(numbers[num]);
} else if (numbers[num] % 2 == 1) {
odd.push(numbers[num]);
}
}
console.log(odd + "is odd and " + even + " is even");
}
oddAndEven("82938411221122919239");
你错过了num ++,你可能想要发送输入“82938411221122919239”
正如A.T建议的那样,你也应该发送[8,2,9,....]作为输入。
答案 4 :(得分:0)
function oddAndEven(numbers) {
var odd = [];
var even = [];
// a bit of optimization here, accessing `length` property only once
for (index = numbers.length - 1 ; index >= 0; index--) {
let current = numbers[index];
if (current%2 == 0) {
even.push(current);
} else {
odd.push(current);
}
}
console.log(odd + "is odd and " + even + " is even");
}