2016-10-17 24 views
2

我很新javascript.I混淆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; 
    }); 
}); 

或沒有塊語句return語句

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兄弟thanx – Nane