-
Notifications
You must be signed in to change notification settings - Fork 6
Open
Description
let arr = [1, 2, 3];如何清空上面的数组?常见的方式有两种:
// 方法1:将数组长度改为 0
arr.length = 0;
// 方法2:重新赋值为空数组
arr = [];这两种方法从运行结果上来看,似乎是一样的,但在一些细节上是有很大区别的:
-
arr.length = 0将数组长度改为 0 后,会清空数组,同时删除数组中的所有索引。let arr = [1, 2, 3]; let arr1 = arr; arr.length = 0; console.log(arr1); // 返回:[],因为它引用了 arr,此时 arr 中的索引被清空了,所以 arr1 也为空
-
arr = []将数组赋值为空数组,只是改变了栈指针,之前被其他变量引用的数据仍有效。let arr = [1, 2, 3]; let arr1 = arr; arr = []; console.log(arr1); // 返回 [1, 2, 3]
Metadata
Metadata
Assignees
Labels
No labels