Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Как правильно очищать массив? (https://javascript.ru/forum/misc/54391-kak-pravilno-ochishhat-massiv.html)

javacrypt 15.03.2015 19:03

Как правильно очищать массив?
 
Привет всем.
Продолжаю изучать js.
В инете видел 2 способа очищения массивов:
var arr = [1, 0, , "foo"];

//1.
arr = [];

//2
arr.length = 0;

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

cyber 15.03.2015 19:31

первый, массив удалится при условие что на него нет других ссылок

Aetae 16.03.2015 06:28

Смотря что вам нужно.
var array = [0,1,2,3];
var foo = array, bar = array;
foo = [];

alert(foo[2])
alert(bar[2])

var array = [0,1,2,3];
var foo = array, bar = array;
foo.length = 0;

alert(foo[2])
alert(bar[2])

ruslan_mart 16.03.2015 08:18

var arr = ['a', 'b', 'c', 'd', 'e'];
arr.splice(0, arr.length);

alert(arr.length);

javacrypt 16.03.2015 12:28

Всем спасибо. Теперь понятно.


Часовой пояс GMT +3, время: 02:18.