我知道JavaScript中的数组与传统数组不同,因为它们在内部只是对象。因此,当涉及到内存管理时,JavaScript允许稀疏数组以类似于密集数组的方式进行操作。在使用稀疏数组时,有没有一种有效的方法来快速访问该数组中的下一个元素?
例如,给定以下数组:
例如,给定以下数组:
var foo = [];
foo[0] = '0';
foo[1] = '1';
foo[2] = '2';
foo[100] = '100';
console.log(foo.length); // => 101
我知道可以使用for ... in
的方法获取所有元素,如下:
for (var n in foo){
console.log(n);
}
// Output:
// 0
// 1
// 2
// 100
然而,是否有明确的方法可以简单地从其中一个元素转到下一个元素呢?
例如,是否存在一种实现类似于此行为的方法?
var curElement = foo[2]; // => 2 (the contents of foo[2])
var nextElement = curElement.next(); // => 100 (the contents of foo[100])
// ^^^^^^
// Not an actual function, but does there exist some way to potentially
// mimic this type of behavior efficiently?
next
方法时,它将查找列表中的下一个键,并返回具有该键的元素。然而这将增加空间复杂度O(n)
,所以我想知道是否有一些本地方式来实现这种行为,避免额外的空间复杂度。 - Nick Zuber大O符号
既可以指时间复杂度,也可以指空间复杂度。 - Nick Zuber