我有一系列与某些数字相对应的值。永远不会有两个值对应于相同的数字。这些数字之间没有差距
E.G.
{a:1,b:2,c:3,d:4}
而不是
{a:1,b:3,c:4,d:7}
现在,我将值存储在数组中并找到该值的索引。数组中的索引是值对应的数字。
假设阵列已预先填充。我的问题是更有效的在Javascript中找到相应的数字:
将值存储在数组的特定位置,并使用indexOf()查找索引。
--- ---或
将值和数字存储为关联数组中的键值对。
答案 0 :(得分:0)
从你说的话...... a应该为零,因为数组从索引零开始而不是1
CASE数字数组:{a:1,b:2,c:3,d:4} for循环是合适的
var a = [];
a[5] = 5;
for (var i=0; i<a.length; i++) {
// Iterates over every single numeric indexes from 0 to 5
}
CASE跳过一个值:{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是合适的
注意:迭代数组被认为是不好的做法,但不是迭代对象的成员。