Почему метод some() возвращает false?
Почему мой предикат не останавливает выполнение метода some? Результат всегда false, хотя я ожидаю true.
let arr = [1, 2, 3, 4];
function include(searchInArr, searchElement) {
return searchInArr.some((x) => {
x == searchElement;
});
}
console.log(include(arr, 2));
В документации сказано, что если хотя бы для одного элемента в массиве условие выполнится, немедленно вернется true.
В отладчике все элемента массива сравниваются с переданной цифрой но даже при (2 == 2) проверка продолжается и в конечном итоге возвращается false. Почему?
Ответы (1 шт):
Автор решения: Exploding Kitten
→ Ссылка
Вы не возвращает результат сравнения:
function include(searchInArr, searchElement) {
return searchInArr.some(x => {
return x == searchElement;
});
}
или короткая форма:
function include(searchInArr, searchElement) {
return searchInArr.some(x => x == searchElement);
}