var arr = [-3, -34, 1, 32, -100];
如何删除所有项目并留下一个空数组?
使用它是个好主意吗?
arr = [];
非常感谢!
答案 0 :(得分:18)
如果没有对该数组的其他引用,那么只需在旧数组的顶部创建一个新的空数组:
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);
答案 1 :(得分:2)
其中一个:
var a = Array();
var a = [];
答案 2 :(得分:2)
就像你说的那样:
arr = [];
答案 3 :(得分:2)
简单,容易和安全的方法是:
arr.length = 0;
创建一个新的数组实例,将引用重定向到另一个新实例,但没有释放旧实例。
答案 4 :(得分:0)
使用arr = [];
清空数组远比处理循环和取消设置每个键,或者取消设置然后重新创建对象更有效。
答案 5 :(得分:0)
虽然您可以像其他一些答案一样将其设置为新数组,但我更喜欢使用clear()方法:
array.clear();
答案 6 :(得分:0)
开箱即用的想法:
while(arr.length) arr.pop();
答案 7 :(得分:0)
清理/清空数组的方法
arr = []
arr.length = 0
arr.splice(0,arr.length)