如果数组项具有相应的数组值,如何合并?

tim*_*imo 0 javascript arrays jquery

我有一个包含子数组的javascript数组,这些子数组有两个值,一年和一个数字

var abc = [["2012", "399"], 
           ["2012", "114"], 
           ["2012", "151"], 
           ["2013", "116"], 
           ["2013", "145"], 
           ["2013", "280"], 
           ["2013", "84"], 
           ["2014", "5"], 
           ["2014", "228"], 
           ["2014", "156"], 
           ["2014", "43"], 
           ["2014", "27"]];
Run Code Online (Sandbox Code Playgroud)

我希望得到每年第二个值的总和.所以对于我的示例数组,我想要以下输出:

Year: 2012 Sum: 664

Year: 2013 Sum: 625

Year: 2014 Sum: 459
Run Code Online (Sandbox Code Playgroud)

我几乎坚持检查第一个值并将它们添加到数组中.

在这里找到好消息

有关比较数组中第一个值的建议吗?

Bar*_*mar 5

var result = {};
for (var i = 0; i < abc.length; i++) {
    var val = parseInt(abc[i][1], 10);
    var year = abc[i][0];
    if (year in result) {
        result[year] += val;
    } else {
        result[year] = val;
    }
}
for (year in result) {
    console.log('Year: ' + year + ' Sum: ' + result[year]);
}
Run Code Online (Sandbox Code Playgroud)