Abs*_*lom 13 javascript arrays
我有一个稀疏数组(索引不连续),如下所示:
var testArray = { 0: "value1", 5: "value2", 10: "value3", 15: "value4" };
Run Code Online (Sandbox Code Playgroud)
我只想迭代每个项目,做一些事情,并能够在一定条件下休息.
我是Javascript的新手,我找不到合适的方法.这是我尝试过的:
内置"for..in".看来这不是迭代数组的正确方法
来自ECMASCRIPT5的forEach.这个迭代正确,但我无法摆脱循环.
来自Underscore.js的_.each().与#2相同的结果.
来自JQuery的$ .each().有了这个,我可以通过返回false来打破,但它不会正确迭代.对于上面的例子,它不是在0,5,10,15处迭代,而是在0,1,2,3,4,5,6迭代......这显然不是我所期望的.
所以我的问题是:是否有一种简单的方法来迭代稀疏数组,可能在Javascript循环期间中断,或者更好地使用另一种数据结构,如哈希表?如果有,任何推荐?
谢谢!
Ble*_*der 10
for...in语法有什么问题?你有一个对象,所以for...in语法完全有效使用:
var testArray = { 0: "value1", 5: "value2", 10: "value3", 15: "value4" };
for (var key in testArray) {
var value = testArray[key];
if (...) {
break;
}
}
Run Code Online (Sandbox Code Playgroud)