Ваша первая проблема с вашим return true
.Эта строка заставит вашу функцию «выйти», тем самым остановив выполнение любого оставшегося кода.Как 1 < 10
, вы немедленно возвращаете true из своей функции.Вместо этого вы можете return true
только после проверки каждого элемента.
Другая ваша проблема заключается в том, что цикл for..of
будет получать каждый элемент в вашем массиве, а не каждый index , как выдумаю, что вы делаете так, что i
infact фактически равно вашей curArr
переменной:
function every(array, test) {
for(let curArr of array){
if(!test(curArr)){
return false;
}
}
return true;
}
console.log(every([1, 3, 4, 12], n => n < 10));