2010-08-27 3 views
2
var arr = [-3, -34, 1, 32, -100]; 

Как удалить все элементы и оставить пустой массив?Как удалить массив javascript?

И это хорошая идея использовать это?

arr = []; 

спасибо!

+4

Вы ответили на свой вопрос, по крайней мере, первый! – Stephen

+0

Возможный дубликат [Как удалить массив в JavaScript?] (Http://stackoverflow.com/questions/1232040/how-to-empty-an-array-in-javascript) –

+0

Возможный дубликат [Как я могу удалить массив в JavaScript?] (https://stackoverflow.com/questions/1232040/how-do-i-empty-an-array-in-javascript) –

ответ

2

один из этих двух:

var a = Array(); 
var a = []; 
+0

arr = [] рекомендуется, поскольку он занимает меньше места (код мудрый). – Zoidberg

+1

И это сексуальнее. – Stephen

+1

@Stephen: '[]' вас включает? – BoltClock

0

Использование arr = []; опорожнить массив является гораздо более эффективным, чем делать что-то вроде цикла и снятия с охраны каждую клавишу, или отключения и затем воссоздать объект.

0

В то время как вы можете установить его в новый массив, как некоторые другие ответы, я предпочитаю использовать метод Clear(), как, например:

array.clear(); 
16

Если нет других ссылок на этот массив, то просто создать новый пустой массив над верхней частью старого:

array = []; 

Если вам необходимо изменить существующий массив —, если, например, есть ссылка на этот массив хранится в другом месте:

var array1 = [-3, -34, 1, 32, -100]; 
var array2 = array1; 

// This. 
array1.length = 0; 

// Or this. 
while (array1.length > 0) { 
    array1.pop(); 
} 

// Now both are empty. 
assert(array2.length == 0); 
+0

Это ответ. Я написал почти то же самое, прежде чем заметить, что Джон уже это сделал. –

0

из коробки идеи:

while(arr.length) arr.pop(); 
+1

Будет работать, но бесполезно неэффективно. 'arr.length = 0' будет быстрее и легче читать. –

+0

С плохой производительностью. –

2

простой, легкий и безопасный способ сделать это:

arr.length = 0; 

делает новый экземпляр массива, перенаправляет ссылку на один другой новый экземпляр, но не освободил старый.

Смежные вопросы