I’m a total beginner and I’m stuck completely on this problem. I’m supposed to use a for loop to traverse an array, pushing odd numbers to the ‘odd’ array, and evens to the ‘even’ array.
No numbers are showing up in my arrays when I test the code. I’ve tried writing it the following two ways:
#1
function pickIt(arr){
var odd=[],even=[];
//coding here
for (i = 0; i < arr.length; i++) {
if (arr[i] % 2 !== 0) {
odd.push();
} else {
even.push();
}
console.log(arr[i]);
}
return [odd,even];
#2
function pickIt(arr){
var odd=[],even=[];
//coding here
for (i = 0; i > 0; i++) {
if (i % 2 !== 0) {
odd.push();
} else {
even.push();
}
}
return [odd,even];
}
I’ve checked out some of the solutions to the problem and with respect to the code I’ve got in #2, the most common solution I guess has the for condition written like this:
for (i of arr)
and then in the if else statement it’s written:
odd.push(i); even.push(i);
respectively, but I have no idea how people got there especially concerning the ‘for’ bit. Can anyone help my brain understand this?
Advertisement
Answer
function pickIt(arr){
var odd=[],even=[];
for (let i = 0; i < arr.length; i++) {
if (arr[i] % 2 !== 0) {
odd.push(arr[i]);
} else {
even.push(arr[i]);
}
}
console.log(odd);
console.log(even);
}
pickIt([10,5,6,3,24,5235,31]);