Массивы JavaScript – выбор элементов с четными значениями

Вопрос: Учитывая массив в JavaScript, я хотел бы выбрать только те элементы, которые являются четными. Например array = [1,2,3,4,5,6,7,8,9,10] Он вернется [2,4,6,8,10] Вот мой код array = [1,2,3,4,5,6,7,8,9,10] for (i = 0; i < array.length; i++) { newArray = []; if (i[0] % 2 == 0 { newArray.push(i) return newArray;}} => Illegal return statement Я

Вопрос:

Учитывая массив в JavaScript, я хотел бы выбрать только те элементы, которые являются четными. Например

array = [1,2,3,4,5,6,7,8,9,10]

Он вернется

[2,4,6,8,10]

Вот мой код

array = [1,2,3,4,5,6,7,8,9,10] for (i = 0; i < array.length; i++) { newArray = []; if (i[0] % 2 == 0 { newArray.push(i) return newArray;}} => Illegal return statement

Я понятия не имею, что я делаю неправильно, но любая помощь будет оценена по достоинству. Спасибо.

Лучший ответ:

Ваш код скорректирован, вы приближались. Надеюсь, вы увидите, где вы ошибетесь.

Javascript

var array = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], newArray = [], i; for (i = 0; i < array.length; i++) { if (array[i] % 2 === 0) { newArray.push(array[i]); } } console.log(newArray);

На jsFiddle

Ответ №1

Лучше вы используете собственный метод filter. Он будет фильтровать те элементы, которые будут соответствовать критериям, указанным в обратном вызове.

var evens = array.filter(function(element){ return element%2==0 }); Ответ №2

Не так кратки, как предыдущий ответ, но также можно использовать

var array = [1,2,3,4,5,6,7,8,9,10]; var evens = arr.reduce(function(prev, cur) { return (cur%2 === 0) ? prev.concat(cur) : prev; }, []);

Оцените статью
Добавить комментарий