簡體   English   中英

如何清空一個javascript數組?

[英]How to empty an javascript array?

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

如何刪除所有項目並只留下一個空數組?

使用它是個好主意嗎?

arr = [];

非常感謝!

如果沒有對該數組的其他引用,則只需在舊數組之上創建一個新的空數組:

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);

簡單、容易和安全的方法是:

arr.length = 0;

創建一個新的數組實例,將引用重定向到另一個新實例,但沒有釋放舊實例。

這兩個之一:

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

就像你說的:

arr = [];

使用arr = []; 清空數組比執行諸如循環和取消設置每個鍵,或取消設置然后重新創建對象之類的操作要高效得多。

雖然您可以像其他一些答案一樣將其設置為新數組,但我更喜歡使用clear()方法:

array.clear();

開箱即用的想法:

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

清理/清空數組的方法

  1. 如果您沒有來自其他地方的任何參考,這是完美的。 (用新數組替換)

arr = []

  1. 這不會釋放此數組中的對象,並且可能會影響內存。 (將道具長度設置為 0)

arr.length = 0

  1. 從數組中刪除所有元素並實際清理原始數組。 (拼接整個數組)

arr.splice(0,arr.length)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM