Нечетные числа из массива
Подскажите как вернуть нечетные числа из массива?
И еще, как возвращать отрицательные значения, а также, если это 0, возвращать пустой массив. Пример:
input: ([1, 2, 3, 4, 5, 6, 7, 7]) === [1, 3, 5, 7, 7];
input: ([0, 2, 4]) === [];
input: ([-10, 10, -11, 11, -12, 12]) === [-11, 11];
input: [] === [];
Написал:
function getNumbers(numbers) {
let x = [];
for (let i = 0; i < numbers.length; i++) {
x = numbers[i];
if (x % 2 == 1) {
return [x];
}
}
}
Не понимаю где ошибся
Ответы (2 шт):
Автор решения: Igor
→ Ссылка
Не понимаю где ошибся
Везде.
function getNumbers(numbers) {
let x = [];
for (let i = 0; i < numbers.length; i++) {
let n = numbers[i];
if (n % 2)
x.push(n);
}
return x;
}
console.log(JSON.stringify(getNumbers([1, 2, 3, 4, 5, 6, 7, 7])));
console.log(JSON.stringify(getNumbers([0, 2, 4])));
console.log(JSON.stringify(getNumbers([-10, 10, -11, 11, -12, 12])));
console.log(JSON.stringify(getNumbers([])));
Автор решения: Дядя Вова
→ Ссылка
const filter = arr => arr.filter(item => item % 2 !== 0)
console.log(filter([1, 2, 3, 4, 5, 6, 7, 7]))
console.log(filter([-10, 10, -11, 11, -12, 12]))
console.log(filter([0, 2, 4]))
console.log(filter([]))
console.log(filter([-1, 0, 1]))
Ещё можно так)