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

SunYang 04.02.2010 22:11

Как удалить массив?
 
определил массив:

var arr = new Array()

записал туда значения arr(a, b, c, d, 12, e)

Как удалить массив или его элементы?
- заново объявить переменную var arr = new Array() ?

PeaceCoder 04.02.2010 23:46

delete arr[0];
delete arr;

JsLoveR 04.02.2010 23:47

SunYang,
Да, можно заново объявить пустой массив!,
например, когда функция закончит работу с массивом после выхода из функции можно обнулить его - arr = new Array() .

Мараторий 05.02.2010 00:34

либо delete arr
либо arr = null

B@rmaley.e><e 05.02.2010 08:23

Цитата:

Сообщение от PeaceCoder
delete arr

Цитата:

Сообщение от Мараторий
delete arr

Не сработает. delete не удаляет локальные переменные.
var arr = [3,4,5];
delete arr;
alert(arr)

Gvozd 05.02.2010 09:24

Цитата:

Сообщение от Мараторий
либо arr = null

скорее уж undefined
null тоже как бы нормальное значение переменной

Kolyaj 05.02.2010 09:47

Цитата:

Сообщение от Gvozd
null тоже как бы нормальное значение переменной

undefined тоже :)

B~Vladi 05.02.2010 09:54

Цитата:

var arr = [3,4,5];
delete arr;
alert(arr)

Ошибка - arr is not defined:-? (FireFox)

Kolyaj 05.02.2010 09:55

B~Vladi,
потому что удалилась :)

B~Vladi 05.02.2010 09:57

B@rmaley.e><e,
Дезинформируешь:nono:

Kolyaj 05.02.2010 10:01

http://javascript.ru/blog/Dmitry-A.-...ekt-peremennyh.
Цитата:

Но, есть один контекст исполнения, на который это правило не действует, это - контекст eval: здесь {DontDelete} var'ам не выставляется
А на форуме как раз eval, как и в консоли firebug'а.

JsLoveR 05.02.2010 14:04

Ему ничего удалять не надо, просто сбить массив:
var mass=new Array('a','b','c');
 alert(mass);
function SowMass()
{
 mass=new Array;
alert(mass);
}
SowMass();

e1f 05.02.2010 14:18

mass.length = 0;

;)

JsLoveR 05.02.2010 14:23

e1f,
и так)

e1f 05.02.2010 14:31

JsLoveR,
так быстрее, чем создавать новый массив


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