Как добавить значения многомерного массива в javascript?

#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 .