#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