第173天 清空一个数组的方式有哪些?它们有什么区别?
arr.length = 0;
arr.splice(0,arr.length);
arr = [];
a = Array.of()
这是完美的,因为这实际上创建了一个全新的(空)数组
仅当您仅通过数组的原始变量A引用数组时才使用此选项。
let arr1 = [1,2,3]
let arr2 = arr1
arr1 = []
console.log(arr1,arr2) // [] [1,2,3]
通过将现有数组的长度设置为 0 来清除该数组
会影响元数组
const arr1 = [1,2,3]
const arr2 = arr1
arr1.length = 0
console.log(arr1,arr2) // [] []
.splice()函数将返回一个包含所有已删除项的数组,因此它实际上将返回原始数组的副本
const arr1 = [1,2,3]
const arr2 = arr1
arr1.splice(0,arr1.length)
console.log(arr1,arr2) // [] []
最慢的方法
const arr1 = [1,2,3]
const arr2 = arr1
while (arr1.length > 0) {
arr1.pop()
}
console.log(arr1,arr2) // [] []
Most helpful comment
arr.length = 0;