var associativeArray = [];
associativeArray['key1'] = 'value1';
associativeArray['key2'] = 'value2';
associativeArray['key3'] = 'value3';
associativeArray['key4'] = 'value4';
associativeArray['key5'] = 'value5';
var key = null;
for(key in associativeArray)
{
console.log("associativeArray[" + key + "]: " + associativeArray[key]);
}
key = 'key3';
var obj = associativeArray[key];
// gives index = -1 in both cases why?
var index = associativeArray.indexOf(obj);
// var index = associativeArray.indexOf(key);
console.log("obj: " + obj + ", index: " + index);
上記のプログラムはインデックス-1を表示します。なぜですか?ループを使用せずに連想配列のオブジェクトのインデックスを取得するには、より良い方法はありますか?javascript:連想配列のオブジェクトのインデックスを取得するには?
この配列から 'key3'を削除するとどうなりますか?スプライス関数は、整数でなければならないインデックスとして第1のパラメータをとる。
javascriptには連想配列はありません。 – Sarfraz
可能な複製[JavaScriptオブジェクトでは、値の属性を取得するにはどうすればよいですか?](http://stackoverflow.com/questions/9052888/in-a-javascript-object-whats-best-way-to -get-the-value-of-value) – user123444555621
http://andrewdupont.net/2006/05/18/javascript-associative-arrays-considered-harmful/ –