JavaScript: Используя целое число как ключ в ассоциативном массиве?

Когда я создаю новый массив JavaScript и использую целое число в качестве ключа, каждый элемент того массива до целого числа создается как неопределенный. например:

var test = new Array();
test[2300] = 'Some string';
console.log(test);

произведет 2298 undefined's и одна 'Некоторая строка'.

Как я должен заставить JavaScript использовать 2300 в качестве строки вместо целого числа, или как я должен сохранить его от instanciating 2299 пустыми индексами?

92
задан bdukes 4 January 2010 в 23:10
поделиться

5 ответов

Можно просто использовать объект:

var test = {}
test[2300] = 'Some string';
33
ответ дан 24 November 2019 в 06:27
поделиться

Попробуйте использовать объект, а не массив:

var test = new Object(); test[2300] = 'Some string';
3
ответ дан 24 November 2019 в 06:27
поделиться

Используйте объект вместо массива. Массивы в JavaScript не являются ассоциативными массивами. Это объекты, магически связанные с любыми свойствами, имена которых похожи на целые числа. Эта магия - не то, что вам нужно, если вы не используете их как традиционную структуру, похожую на массив.

var test = {};
test[2300] = 'some string';
console.log(test);
2
ответ дан 24 November 2019 в 06:27
поделиться

Используйте в качестве ключа объект - с целым числом, а не массив.

.
0
ответ дан 24 November 2019 в 06:27
поделиться
[

] Используйте объект, как говорят люди. Однако, Обратите внимание, что вы можете [] не иметь [] целочисленных ключей. JavaScript [] преобразует целое число в строку []. Следующие выходы 20, не неопределенные:[

] [
var test = {}
test[2300] = 20;
console.log(test["2300"]);
]
121
ответ дан 24 November 2019 в 06:27
поделиться
Другие вопросы по тегам:

Похожие вопросы: