У меня следующая ситуация:Занимает ли NULL память в javascript?
var large = [a,b,c,d,e,f,g,h,i];
var small = [a2, b2, c2, null, null, null, null, null, null, i2];
, где каждый элемент обоих массивов является объектом.
Небольшой массив содержит информацию, относящуюся к большему, но не каждому элементу large
требуется связанный элемент в small
, поэтому я установил его в null
. Тем не менее, мне все равно нужно держать индексы такими же, чтобы я мог делать что-то вроде large[16].id + ': ' + small[16].description
. Имеет ли тот факт, что у меня есть массив, который в основном равен null
, приводит к увеличению использования памяти?
Мой вопрос: будет ли мне лучше делать что-то вроде small = [a2,b2,c2,i2]
и устанавливать индексы в таких свойствах, как a2.index = 0; b2.index = 1
и так далее.
У меня также есть предложение использовать undefined, а кто-то даже упоминал о внедрении связанных списков. Я не думаю, что мне нужно реализовать связанный список, поскольку я не добавляю или удаляю элементы очень часто.
Это тоже мое предложение. –
Обратите внимание, что просто установка свойства в undefined фактически не заставляет его не занимать места: свойство может существовать и иметь явное значение «undefined», например, «var x = {a: undefined}; оповещения (x.a); оповещения (x.b); alert (a в x); alert (b in x); '. Если вы хотите удалить свойство, используйте 'delete'. – gsnedders
Спасибо, что принесли это. Я хотел бы упомянуть об этом и отредактировать ответ. – codelahoma