2016-10-17 3 views
2

Я довольно новичок в javascript. Я запутался с уменьшением javascript. это мое значение массиваКак добавить многомерные значения массива в javascript?

var result = [ 
      [ 0, 4, 22 ]//26, 
      [ 0, 9, 19 ]//28 
      ] 

Я хочу добавить это значение массива, как это ..

[ 
    [26], 
    [28] 
    ] 

И снова я должен добавить это значение, как это ..

26+28=54 

это моя попытка, это дает мне неопределенный характер.

var sum = result.map((data) => { 
    data.reduce(function (total ,curr) { 
     return total+curr 
    }) 
}); 
console.log(sum) 

ответ

5

Вам нужен оператор возврата в блок отчетности

var sum = result.map(data => { 
    return data.reduce(function (total, curr) { 
// ^^^^^^ 
     return total + curr; 
    }); 
}); 

или без оператора блока

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; }

+0

В функции стрелка с одним выражением, есть неявное 'return'. – Pointy

+0

Awsome bro thanx – Nane

Смежные вопросы