0

我有一系列对应于某些数字的值。永远不会有两个值对应于相同的数字。数字之间没有差距。
EG
{a: 1, b: 2, c: 3, d: 4} 而不是 {a: 1, b: 3, c: 4, d: 7}

现在,我将值存储在一个数组中并找到该值的索引。数组中的索引是值对应的数字。

假设数组是预先填充的。我的问题是在 Javascript中找到相应的数字更有效:

将值存储在数组的特定位置并使用 indexOf() 查找索引。

- -或者 - -

将值和数字作为键值对存储在关联数组中。

4

1 回答 1

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 合适

注意:遍历数组被认为是不好的做法,而不是遍历对象的成员。

于 2013-06-07T14:01:39.353 回答