Моя функция работает правильно, однако она возвращает undefined
вместе с ответом, и я не уверен, почему.
Я проверял свой код в предыдущих задачах, похожих на эту, и я 'мы скопировали его шаг за шагом.Я также использовал сайт визуализации JavaScript, но он не очень помогает.Все, что он показывает, это то, что мой код возвращается к операторам console.log
в конце и возвращает undefined
после завершения выполнения кода.
Код
function greaterThanTen(num){
return num > 10;
}
function every(array, callbackFunction) {
var doesEveryElementMatch = true;
for (var i = 0; i < array.length; i++) {
doesEveryElementMatch = callbackFunction(array[i]);
if (doesEveryElementMatch === false){
break;
}
}
return doesEveryElementMatch;
}
// ASSERTION FUNCTION(S) TO BE USED
function assertEqual(actual, expected, testName){
if (actual === expected){
console.log('passed');
}else{
console.log('failed');
}
}
// TESTS CASES
var test1 = every([11, 12, 13, 14, 15], greaterThanTen);
var test2 = every([1, 1, 1], greaterThanTen);
console.log(assertEqual(test1, true, 'Tests if numbers in array are greater than 10'));
console.log(assertEqual(test2, true, 'Tests if numbers in array are greater than 10'));
- Ожидаемый результатof test1 «пройден», но возвращает «пройдено» и
undefined
. - Ожидаемый результат test2 - «сбой», но он возвращает «провал» и
undefined
.