我正在尝试了解get item at index
如何在JavaScript中的数组中工作。
例如,假设我有一个for
迭代一个包含数千(或数百万)个项目的数组。哪种打印项目的最佳方式(性能最佳)?
// Option 1
for (int i = 0; i < array.length; i++) {
var data = array[i];
console.log( data.ID, data.name, data.date, data.description );
}
// Option 2
for (int i = 0; i < array.length; i++) {
console.log( array[i].ID, array[i].name, array[i].date, array[i].description );
}
是选项1还是选项2?或者使用第一个或第二个选项是一回事吗?或者有更好的方法来做到这一点吗?
我知道例如Java ArrayList中的get()
以这种方式工作,所以显然最好的方法是选项1,因为它每次调用get()
方法时都会检查范围。
public E get(int index) {
rangeCheck(index);
return elementData(index);
}
private void rangeCheck(int index) {
if (index >= size)
throw new IndexOutOfBoundsException(outOfBoundsMsg(index));
}
JavaScript是否以类似的方式工作?
这里的“大问题”实际上是 JavaScript数组如何在索引上获取项目
注意:我试图寻找在数组中获取元素的最佳方法,但我能找到的只是迭代数组的最佳方法。这不是我想从这个问题中得到的东西!
答案 0 :(得分:3)
修改强>
忘掉我说过的一切。对于非常古老的浏览器来说确实如此对于新的(使用Chrome,Firefox,IE11和Edge测试),这些示例之间几乎没有差异。
我已经测试了一个包含1亿条记录的数组,差别是&lt; 1毫秒。
选项2显然稍微更快,没有任何真正重要的。