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 arraysJSのようなものはありません。それは単純な配列またはオブジェクトのいずれかです。数値以外のプロパティをに追加することを妨げるものは何Arrayもありませんが、それはできません。associative特に、lengthプロパティはこれらのプロパティを自動カウントしません。