#javascript #multidimensional-array
#javascript #многомерный массив
Вопрос:
Я довольно новичок в javascript.Меня смущает сокращение javascript. это мое значение массива
var result = [
[ 0, 4, 22 ]//26,
[ 0, 9, 19 ]//28
]
Я хочу добавить это значение массива следующим образом..
[
[26],
[28]
]
И снова я должен добавить это значение следующим образом..
26 28=54
это моя попытка, которая дает мне undefined..
var sum = result.map((data) => {
data.reduce(function (total ,curr) {
return total curr
})
});
console.log(sum)
Ответ №1:
Вам нужен оператор return в блочных операторах
var sum = result.map(data => {
return data.reduce(function (total, curr) {
// ^^^^^^
return total curr;
});
});
или без оператора block
var sum = result.map(data => data.reduce((total, curr) => total curr));
Чтобы ответить на вопрос последней части, я предлагаю создать функцию для добавления значений и использовать ее в качестве обратного вызова для Array#reduce
.
var add = (a, b) => a b,
result = [[0, 4, 22], [0, 9, 19]],
sum = result.map(a => a.reduce(add)),
total = sum.reduce(add);
console.log(sum);
console.log(total);
.as-console-wrapper { max-height: 100% !important; top: 0; }
Комментарии:
1. В функции со стрелкой с одним выражением есть неявное
return
.