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
プロパティはこれらのプロパティを自動カウントしません。