2016-11-13 6 views
3

名前と整数の値を持つ多次元配列があります。多次元配列の各配列の整数値を比較できるようにする必要があります。配列を比較して返すにはどうすればいいですか?多次元配列を比較して最大値の配列を探すjavascript

var totals = [ 
    ['john', 'test', 45], 
    ['bob', 'tester', 75] 
]; 

はどのように「合計」配列の配列をループして、最大の整数値を持つものを返すことができますか?

答えて

3

reduceを使用できます。例えば:

var totals = [ 
    ['john', 'test', 45], 
    ['john', 'test', 46], 
    ['john', 'test', 42], 
    ['john', 'test', 41] 
]; 

var biggest = totals.reduce((a, b) => a[2] > b[2] ? a : b); 
console.log(biggest); 

フィドルhere


reduce()初期値が供給されていない場合、その後aが最初になることに留意すべきである、とbは、最初のコールで第なります。

0
var largest = totals.reduce((prev, cur) => prev[2] > cur[2] ? prev : cur, [0,0,0]); 
0
var result = totals.reduce((p, c) => { 
    return p[2] > c[2] ? p : c; 
}); 

console.log(result);