# push even and odd numbers to respective arrays using a for loop

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?

```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]);
```