Почему использование строк в качестве ключей массива, консоль показывает этот массив без этих объявленных значений и при повторном выполнении этих значений, когда ключи являются строками, не отображаются?, хотя я могу получить их ценность.
>> var arr = [ 0, 1, 2, 3 ];
undefined
>> arr["something"] = "aught";
"aught"
>> arr
[0, 1, 2, 3]
>> arr["something"]
"aught"
>> for( var i = arr.length; i--; console.log( arr[ i ] ) );
3
2
1
0
Я понимаю, что массивы - это объекты, которые реализовали какой-то интерфейс "enumerate" в javascript engine.
Самое интересное, что интерпретатор не бросает предупреждение или ошибку, поэтому я потратил немного времени на поиск места, где данные могут быть потеряны.
Я сейчас, я был неправ, и я использовал []
вместо {}