# How to Return All Odd Numbers in a JavaScript Array?

You can find all odd numbers in a JavaScript array by:

You should avoid checks for odd numbers with "`n % 2 === 1`" (where `n` is an integer, and `%` is the remainder operator) because, for negative numbers, this would return `-1`. Therefore, it may be easier to simply check if the number is not an even number (i.e. `n % 2 !== 0`) because it accounts for both, negative and positive numbers (since `-0 === 0` in JavaScript). Otherwise, you would need an extra/explicit check for negative numbers.

## Using `Array.prototype.filter()`

To get all odd numbers in an array of integers using the `Array.prototype.filter()` method, you can do the following:

```// ES5+
const numbers = [-5, -2, -1, 0, 1, 3, 4, 7];
const oddNumbers = numbers.filter(function (number) {
return number % 2 !== 0;
});

console.log(oddNumbers); // [-5, -1, 1, 3, 7]
```

This would return a new array containing all odd numbers. In ES6+, you can shorten this to a one-liner using the arrow function syntax:

```// ES6+
const numbers = [-5, -2, -1, 0, 1, 3, 4, 7];
const oddNumbers = numbers.filter((number) => number % 2 !== 0);

console.log(oddNumbers); // [-5, -1, 1, 3, 7]
```

When no matches are found, an empty array is returned:

```// ES6+
const numbers = [-2, 0, 4];
const oddNumbers = numbers.filter((number) => number % 2 !== 0);

console.log(oddNumbers); // []
```

## Using a Loop

You can loop over an array of integers and create a new array to which you add all odd numbers to, for example, like so:

```const numbers = [-5, -2, -1, 0, 1, 3, 4, 7];
const oddNumbers = [];

for (let i = 0; i < numbers.length; i++) {
if (numbers[i] % 2 !== 0) {
oddNumbers.push(numbers[i]);
}
}

console.log(oddNumbers); // [-5, -1, 1, 3, 7]
```

This would return a new array containing all odd numbers, and when no match is found, an empty array is returned.

Hope you found this post useful. It was published . Please show your love and support by sharing this post.