Задать вопрос
@Karli

Функция должна проверять, какие числа четные, объясните почему не работает?

let arr = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10];

function isTrue(arr) {
  for (let elem of arr) {
    if (elem % 2 === 1) {
      return false;
    }
  }

  return true;
}

func(arr);
  • Вопрос задан
  • 1299 просмотров
Подписаться 1 Простой 5 комментариев
Пригласить эксперта
Ответы на вопрос 2
otdameskapizm
@otdameskapizm
Помог ответ? Отметь решением...
Ваша функция не проверяет, какие числа четные - она отвечает на вопрос, все ли числа массива четные
Если нужно вывести четные числа, то попробуйте хотя бы так:
const isEven = (arr) => {
  for (const num of arr) {
    if (num % 2 === 0) {
      console.log(num);
    }
  }
};
Ответ написан
sergiks
@sergiks Куратор тега JavaScript
♬♬
Нужно чётко формулировать желания. На английском )

У массивов есть встроенные методы, которыми удобно решать задачи.

Хочется узнать, все ли элементы массива чётные? «Все» — "every"
arr.every( item => (item & 1) === 0 )

Узнать, какие элементы массива чётные? Что в результате получить.. Только четные элементы – значит, отфильтровать искомое, "filter": arr.filter( item => (item & 1) === 0 )

Функциям хорошо бы давать понятные названия. В примерах выше одна и та же функция определяет четность очередного item'а. Можно её сделать отдельной функцией: const isEven = num => (num & 1) === 0;тут проверяется последний бит числа, если он 0, значит, число четное. Годится только для небольших 32-битных целых.

Примеры станут лаконичнее:
arr.every(isEven) // false
arr.filter(isEven) // [2, 4, 6, 8, 10]
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы