Javascript-форум (https://javascript.ru/forum/)
-   Events/DOM/Window (https://javascript.ru/forum/events/)
-   -   Может ли у объекта быть свойство с целочисленным ключом? (https://javascript.ru/forum/events/59677-mozhet-li-u-obekta-byt-svojjstvo-s-celochislennym-klyuchom.html)

iwtn 22.11.2015 10:36

Может ли у объекта быть свойство с целочисленным ключом?
 
Hi,
Насколько я понял из экспериментов у объекта не может быть в принципе целочисленного ключа, только строки. И если даже создавать ключи из чисел они всё равно будут преобразовываться в строки. Я прав или нет?

Вот пример:
var obj1={
"1" : "val1",
"2" : "val3",
3 : [1,2,3,4,5],
4 : {}
}

for (var i in obj1) {
console.log("typeof("+i+")="+typeof(i)); //string все
}

obj1[1]="change1";
obj1["2"]="change2";
var ind2=5;
obj1[ind2]=ind2;

После изменений obj1:
{
"1": "change1",
"2": "change2",
"3": [1,2, 3,4, 5],
"4": {},
"5": 5
}

рони 22.11.2015 12:03

iwtn,
Цитата:

Если использовано значение другого типа — JavaScript приведет его к строке автоматически.
https://learn.javascript.ru/object

Safort 22.11.2015 12:10

iwtn,
то, что тебе нужно https://learn.javascript.ru/set-map

iwtn 22.11.2015 12:57

Всё ясно, спасибо.


Часовой пояс GMT +3, время: 03:15.