我有很多数据存储在关联数组中。
array = {'key':'value'};
如何使用普通的 for 循环而不是像这里的循环来循环这样的数组:http: //jsfiddle.net/HzLhe/
由于这个问题,我不想使用 for-in: Mootools when using For(...in Array) 问题
我有很多数据存储在关联数组中。
array = {'key':'value'};
如何使用普通的 for 循环而不是像这里的循环来循环这样的数组:http: //jsfiddle.net/HzLhe/
由于这个问题,我不想使用 for-in: Mootools when using For(...in Array) 问题
正如其他人指出的那样,这不是一个数组。这是一个 JavaScript 对象。要对其进行迭代,您将不得不使用 for...in 循环。但要过滤掉其他属性,您将不得不使用hasOwnProperty
.
例子:
var obj={'key1': 'value1','key2':'value2'};
for (var index in obj) {
if (!obj.hasOwnProperty(index)) {
continue;
}
console.log(index);
console.log(obj[index]);
}
JavaScript 没有关联数组的概念。相反,您只需拥有一个具有可枚举属性的对象,因此请使用 for..in 循环遍历它们。如上所述,您可能还需要执行检查hasOwnProperty
以确保您没有对继承的属性执行操作。
for (var prop in obj){
if (obj.hasOwnProperty(prop)){
console.log(obj[prop]);
}
}