为什么我的for-each循环没有遍历我的JavaScript关联数组对象?
// defining an array
var array = [];
// assigning values to corresponding keys
array["Main"] = "Main page";
array["Guide"] = "Guide page";
array["Articles"] = "Articles page";
array["Forum"] = "Forum board";
// expected: loop over every item,
// yet it logs only "last" assigned value - "Forum"
for (var i = 0; i < array.length; i++) {
console.log(array[i]);
}
编辑:jQuery each()
可能会有所帮助:https : //api.jquery.com/jQuery.each/
associative arrays
JS中没有这样的东西:它是纯数组或对象。没有什么可以阻止将非数字属性添加到Array
,但这并不能实现associative
-特别是,length
属性不会自动对这些属性进行计数。