清空数组的三种方式

JavaScript清空数组方法

JavaScript中清空数组的三种方法

方式1:splice
var ary = [1,2,3,4]; 
ary.splice(0,ary.length); 
console.log(ary); // 输出 [],空数组,即被清空了

返回一个新数组,为空

方式2:length赋值为0

这种方式很有意思,其它语言如Java,其数组的length是只读的,不能被赋值。如

复制代码代码如下:

int[] ary = {1,2,3,4}; 

ary.length = 0; 
方式3:赋值为[]
var ary = [1,2,3,4]; 
ary = []; // 赋值为一个空数组以达到清空原数组 

转载于:https://my.oschina.net/shuaihong/blog/1843987

### 方法一:直接赋值为空数组 最简单且推荐的方法是将数组重新赋值为一个空数组。这种方式会创建一个新的数组对象,并将其引用赋给原始变量。 ```javascript let arr = [1, 2, 3]; arr = []; // 清空数组 [^5] ``` ### 方法二:使用 `splice()` 方法 `splice()` 方法可以修改数组内容,删除或添加元素。通过传入起始索引和删除的元素个数,可以清空整个数组。 ```javascript let arr = [1, 2, 3]; arr.splice(0, arr.length); // 清空数组 [^2] ``` ### 方法三:设置 `length` 属性为 0 通过将数组的 `length` 属性设置为 0,可以有效地清空数组内容。此方法不会创建新的数组对象,而是直接修改原数组。 ```javascript let arr = [1, 2, 3]; arr.length = 0; // 清空数组 [^3] ``` ### 方法四:使用 `pop()` 或 `shift()` 循环删除元素 可以通过循环调用 `pop()`(从末尾删除)或 `shift()`(从开头删除)来逐个删除数组中的元素。 ```javascript let arr = [1, 2, 3]; while (arr.length) { arr.pop(); // 从末尾逐个删除元素 } // 或者 while (arr.length) { arr.shift(); // 从开头逐个删除元素 } ``` ### 方法五:使用 `filter()` 创建新数组 `filter()` 方法会创建一个新数组,包含所有符合条件的元素。如果返回 `false`,则新数组为空,从而达到清空数组的效果。 ```javascript let arr = [1, 2, 3]; arr = arr.filter(() => false); // 清空数组 ``` ### 方法六:使用 `slice()` 创建空数组 `slice()` 方法可以截取数组的一部分并返回一个新数组。如果不传递参数,则会返回一个空数组。 ```javascript let arr = [1, 2, 3]; arr = arr.slice(0, 0); // 清空数组 ``` ### 方法七:使用 `Array.from()` 创建空数组 `Array.from()` 可以基于一个可迭代对象创建新数组。通过传递一个空数组或不提供参数,可以生成一个空数组。 ```javascript let arr = [1, 2, 3]; arr = Array.from([]); // 清空数组 ``` --- ### 方法对比与适用场景 - **直接赋值为空数组**(`arr = []`)适用于大多数情况,但会创建一个新的数组对象。 - **设置 `length` 为 0** 和 **使用 `splice()`** 不会创建新数组对象,适合需要保留原数组引用的场景,例如在函数中操作全局数组时 [^4]。 - **`filter()`、`slice()`、`Array.from()`** 等方法均会生成新的数组对象,适合不可变数据操作的场景。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值