Когда я создаю новый массив JavaScript и использую целое число в качестве ключа, каждый элемент того массива до целого числа создается как неопределенный. например:
var test = new Array();
test[2300] = 'Some string';
console.log(test);
произведет 2298 undefined's и одна 'Некоторая строка'.
Как я должен заставить JavaScript использовать 2300 в качестве строки вместо целого числа, или как я должен сохранить его от instanciating 2299 пустыми индексами?
Можно просто использовать объект:
var test = {}
test[2300] = 'Some string';
Попробуйте использовать объект, а не массив:
var test = new Object(); test[2300] = 'Some string';
Используйте объект вместо массива. Массивы в JavaScript не являются ассоциативными массивами. Это объекты, магически связанные с любыми свойствами, имена которых похожи на целые числа. Эта магия - не то, что вам нужно, если вы не используете их как традиционную структуру, похожую на массив.
var test = {};
test[2300] = 'some string';
console.log(test);
Используйте в качестве ключа объект - с целым числом, а не массив.
.] Используйте объект, как говорят люди. Однако, Обратите внимание, что вы можете [] не иметь [] целочисленных ключей. JavaScript [] преобразует целое число в строку []. Следующие выходы 20, не неопределенные:[
] [var test = {}
test[2300] = 20;
console.log(test["2300"]);
]