ama*_*eur 5 javascript arrays jquery sparse-array
我在javascript中有一个对象数组.我用jquery.
我如何获得数组中的第一个元素?我不能使用数组索引 - 因为我在将对象添加到数组时分配每个元素索引.因此索引不是0,1,2等.
只需要获取数组的第一个元素?
如果您不使用按顺序编号的元素,则必须循环直到找到第一个元素:
var firstIndex = 0;
while (firstIndex < myarray.length && myarray[firstIndex] === undefined) {
firstIndex++;
}
if (firstIndex < myarray.length) {
var firstElement = myarray[firstIndex];
} else {
// no elements.
}
Run Code Online (Sandbox Code Playgroud)
或者一些同样愚蠢的结构。这将为您提供第一个项目的索引,您可能会或可能不关心它。
如果这是您需要经常执行的操作,则应该保留对当前第一个有效索引的后备引用,因此这将成为 O(1) 操作,而不是每次 O(n) 操作。如果您经常需要迭代真正稀疏的数组,请考虑另一种数据结构,例如在其旁边保留一个对象,将序数结果反向映射到索引或适合您的数据的东西。
| 归档时间: |
|
| 查看次数: |
6813 次 |
| 最近记录: |