@vetsmen

Почему не срабатывает return false?

const checkArrayForInteger = data => {
	function isInteger(num) {
		return (num ^ 0) === num;
	}

	data.forEach(item => {
		if(!isInteger(item)) {
			return false;
		}
	});
	return true;
}


Когда в функцию отдаю массив [1, 2, 3, 4, 'asfas'] все равно отвечает true. Почему?
  • Вопрос задан
  • 129 просмотров
Пригласить эксперта
Ответы на вопрос 2
Astrohas
@Astrohas
Python/Django Developer
{
    if(!isInteger(item)) {
      return false;
    }
  }

это тоже отдельная функция, и ваш return false возвращает результат ей
Ответ написан
@levchak0910
answer.correct ? press({correct: true}) : next()
Если самостоятельно:
const checkArrayForInteger = data => {
    if(data.length < 1) return false;

    let result = true;
    data.forEach(num => {
        if((num ^ 0) !== num) {
            result = false;
            return false;
        }
    });
    return result;
};

Или используйте функции из lodash
const checkArrayForInteger = data => data.length > 1 ? _.every(data, num => _.isInteger(num)) : false;
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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