我试图了解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中的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数组如何在索引中获取项
注意:我试图寻找获得数组中元素的最佳方法,但我所能找到的只是迭代array的最佳方法。这不是我想从这个问题上得到的!
发布于 2015-09-18 13:28:36
编辑
忘了我说过的一切。对于非常老的浏览器来说是这样的。对于新的例子(用Chrome、火狐、IE11和Edge进行测试),这些例子几乎没有区别。
我已经用1亿条记录进行了测试,两者之间的差别是< 1ms。
选项2显然是稍微快一点,没有什么真正重要的。
https://stackoverflow.com/questions/32653096
复制相似问题