簡體   English   中英

JavaScript數組中的最小和最大索引

[英]Min and max index in JavaScript array

我有一個簡單的問題。 我有這樣的JS數組:

data[-5]=[...];
data[-2]=[...];
data[-1]=[...];
data[4]=[...];
data[6]=[...];
data[7]=[...];

如何自動獲取最小(data [-5])和最大(data [7])元素?

負索引不是實際索引。 他們不會一直工作。 它們就像對象的任何其他屬性一樣。

但是,您可以通過遍歷可枚舉的屬性( 這對數組不利 ,但仍然如此)並將數字屬性添加到數組中來完成您想要的事情。

var idxs = Object.keys(arr).filter(isFinite); // just take the Number properties
var min = Math.min.apply(Math, idxs),
    max = Math.max.apply(Math, idxs);

短而無循環:

var keys = Object.keys(data);
var sorted = keys.sort(function(a, b){return a-b});
var min = data[sorted[0]];
var max = data[sorted[sorted.length-1]];

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM