
![]() |
Здравствуйте Гость ( Вход | Регистрация ) |
|
|
|
![]() ![]() ![]() |
![]() |
۩
Дата
|
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Профиль Группа: Эксперт ![]() Сообщений: 12174 Пользователь №: 23195 На форуме: Карма: 441 Трезвый : 15 лет, 6 месяцев, 25 дней ![]() |
Пишу код для node.js.
имеется массив (Array), в него/из него периодически (довольно активно) добавляются/удаляются элементы. Удаляю так: delete stack[i]; Вопрос такой: возможна ли утечка из-за образования "дырок" со значением undefined в массиве ? Или все норм? Если утечка возможна, то посоветуйте, как поступить грамотно. -------------------- |
![]() |
|
![]() ![]() Здесь живет ![]() ![]() ![]() ![]() ![]() ![]() Профиль Группа: Форумчанин ![]() Сообщений: 837 Пользователь №: 32378 На форуме: Карма: 50 ![]() |
Только splice()
-------------------- VPS от 5$, первые 2 месяца - бесплатно.
|
![]() |
|
![]() ![]() Reality is wrong. Dreams are for real ![]() ![]() ![]() ![]() ![]() ![]() Профиль Группа: Форумчанин ![]() Сообщений: 1815 Пользователь №: 16955 На форуме: Карма: 98 ![]() |
Вы удалили 10000 элементов и они хранятся в памяти как "не определенные".
(так как значения в массиве не определены и не имеют типа данных) И так же занимают память.Назвать утечкой определено можно при огромном количестве данных. Delete - не удаляет элемент из массива,а только присваивает элементу значение undefined. Находите положения по индексу и сдвигаете массив используя splice NewArray = ['a1', 'a2', 'a3', 'a4']; Output: -> [undefined, "a2", "a3", "a4"] NewArray.splice(0,1); |
![]() |
۩
Дата
|
||||
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Профиль Группа: Эксперт ![]() Сообщений: 12174 Пользователь №: 23195 На форуме: Карма: 441 Трезвый : 15 лет, 6 месяцев, 25 дней ![]() |
Hello Отлично, спасибо. Вроде то, что нужно. Oyeme
Конечно, именно о огромных объемах данных речь и идет.
уже протестил, все норм. Всем спасибо, вопрос решен ![]() -------------------- |
||||
![]() |
![]() ![]() ![]() |