Тройное равенство в JavaScript, возвращающее неопределенное значение вместе с пройденным / неудачным - PullRequest
0 голосов
/ 07 апреля 2019

Моя функция работает правильно, однако она возвращает 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.
...