javascript уменьшает возврат неопределенного

#javascript #arrays #reduce

#javascript #массивы #уменьшить

Вопрос:

мой код сокращения не работает, мой накопитель накапливается, как ожидалось, но результат, который я получаю, не определен, не мог бы кто-нибудь, пожалуйста, указать на мою ошибку?

 function total(arr) {
  arr.reduce(function(acc,cur){
    console.log(acc);
    console.log(cur);
    return acc cur;
    });
  }

let s=total([1,2,3]); 
console.log(s);
  

Комментарии:

1. В вашей total() функции нет return инструкции.

Ответ №1:

вы забыли вернуть функцию

 function total(arr) {
    return arr.reduce(function(acc,cur){
  //^^^^^ missing
  return acc cur;
    });
  }

let s=total([1,2,3]); 
console.log(s);  

Ответ №2:

Вам нужно вернуть arr.reduce

 function total(arr) {
  return arr.reduce...

  }

let s=total([1,2,3]); 
console.log(s);
  

Комментарии:

1. Не могли бы вы, пожалуйста, пояснить, почему это было в первую очередь неопределенным, и как это исправить?

2. @TomerShetah Это из MDN: выражение, значение которого должно быть возвращено. Если опущено, вместо этого возвращается значение undefined. Вот ссылка: MDN — return