[英]Get largest value in multi-dimensional array javascript or coffeescript
[英]javascript - Get largest value(s) in multi-dimensional array
我正在使用本教程來獲取多維數組的最大“第一個”[0]值。
array = [[1, 5], [4, 7], [3, 8], [2, 3],
[12, 4], [6, 6], [4, 1], [3, 2],
[8, 14]]
array.reduce(function(max, arr) {
return max >= arr[0] ? max : arr[0];
}, -Infinity);
但我怎樣才能獲得其他相關價值? 換句話說,因為[12, 4]
12是最高值,但我怎么能得到'4'?
*注意從第一個val排序數組后,我需要訪問所有值。
該代碼僅檢查嵌套數組的第一個值。 如果對你沒問題,你只需存儲整個嵌套數組,而不是第一個值。 所以:
var result = array.reduce(function(max, arr) {
return max[0] >= arr[0] ? max : arr;
});
請注意,我刪除了-Infinity
,在這種情況下,第一次迭代將從數組的第一項開始(在您的情況下為[1, 5]
)。 所以現在你可以使用result[0]
和4
使用result[1]
訪問12
。
聽起來你想要對列表進行排序並從第一個結果中獲取第二個項目:
array.sort(function(a,b) {
return a[0] > b[0] ? -1 : 1
})[0][1]; -- 4
您可以嘗試以下方法:
array.reduce(function(max, arr) {
return max >= arr[0] ? max : arr[0];
});
或者您可以使用Math.max:
array.reduce(function(max, arr) {
return Math.max(max, arr[0]);
});
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.