[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: возможна ли утечка памяти?
Invis1ble
Пишу код для node.js.
имеется массив (Array), в него/из него периодически (довольно активно) добавляются/удаляются элементы. Удаляю так:
delete stack[i];

Вопрос такой: возможна ли утечка из-за образования "дырок" со значением undefined в массиве ? Или все норм?
Если утечка возможна, то посоветуйте, как поступить грамотно.

_____________

Профессиональная разработка на заказ

Я на GitHub | второй профиль

Hello
Только splice()

_____________
VPS от 5$, первые 2 месяца - бесплатно.
Oyeme
Вы удалили 10000 элементов и они хранятся в памяти как "не определенные".
(так как значения в массиве не определены и не имеют типа данных)

И так же занимают память.Назвать утечкой определено можно при огромном количестве данных.

Delete - не удаляет элемент из массива,а только присваивает элементу значение undefined.

Находите положения по индексу и сдвигаете массив используя splice

 NewArray = ['a1', 'a2', 'a3', 'a4'];
delete NewArray [0];


Output:
-> [undefined, "a2", "a3", "a4"]

 NewArray.splice(0,1);

console.log(NewArray);
Invis1ble
Hello
Отлично, спасибо. Вроде то, что нужно.

Oyeme
Цитата
Вы удалили 10000 элементов..и они хранятся в памяти как "не определенные".И так же занимают памят.Назвать утечкой можно при огромных колличестве данныъ.

Конечно, именно о огромных объемах данных речь и идет.

Цитата
Находите положения по индексу и сдвигаете массив используя splice

NewArray = ['a1', 'a2', 'a3', 'a4'];
delete NewArray [0];


Output:
-> [undefined, "a2", "a3", "a4"]

NewArray.splice(0,1);

console.log(NewArray);

уже протестил, все норм.
Всем спасибо, вопрос решен smile.gif

_____________

Профессиональная разработка на заказ

Я на GitHub | второй профиль

Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.