[英]Performance of indexOf() vs. an Associative Array in Javascript?
我有一系列与某些数字相对应的值。 永远不会有两个值对应于相同的数字。 数字之间没有空隙。
例如
{a:1,b:2,c:3,d:4} 与 {a:1,b:3,c:4,d:7} 相反
现在,我将值存储在数组中并找到该值的索引。 数组中的索引是与值相对应的数字。
假设阵列已预先填充。 我的问题是,在Javascript中找到相应的数字哪个更有效:
将值存储在数组的特定位置,并使用indexOf()查找索引。
- -要么 - -
将值和数字作为键值对存储在关联数组中。
从你所说的... a应该为零,因为数组从索引0开始而不是1
CASE数字数组:{a:1,b:2,c:3,d:4}适用于循环
var a = [];
a[5] = 5;
for (var i=0; i<a.length; i++) {
// Iterates over every single numeric indexes from 0 to 5
}
忽略一个值:{a:1,b:3,c:4,d:7}
for..in适合
var a = [];
a[5] = 5;
for (var x in a) {
ignores 0-4,shows only 5
}
CASE关联数组:indexof适合
注意:遍历数组而不是遍历对象成员被认为是不好的做法。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.