Я хочу создать объект, начиная с чего-то вроде:
var map = {};
Затем я хочу добавить элементы с помощью этой функции:
add = function(integerA, objectB) {
map[objectB.type][integerA] = objectB;
}
Итак, это случайныйПример структуры объекта, которую я хочу достичь:
map = {
'SomeType' : { 0 : 'obj', 2 : 'obj', 3 : 'obj' },
'OtherType' : { 0 : 'obj', 5 : 'obj' },
};
Теперь моя проблема.Я не могу сделать map[objectB.type][integerA] = objectB;
, потому что map[objectB.type]
не определен.Я мог бы решить это, проверив, существует ли map[objectB.type]
с помощью оператора if, и создать map[objectB.type] = {};
при необходимости.
В противном случае я мог бы предварительно загрузить все типы объектов.Однако я бы предпочел не делать этого.
Мой вопрос: есть ли способ, которым я могу создать объект «на лету», не проверяя, существует ли тип каждый раз, когда я хочу вызватьadd
функция или предварительная загрузка всех типов?
Важно, чтобы моя функция добавления была настолько быстрой, насколько это возможно, и чтобы объект карты был корректным, потому что мне нужно много читать и писать внебольшое количество времени (это анимация / игровое приложение).