JS中一种快速浅复制数组的方法

今天,偶然在Javascript的练习中,发现了一种数据快速千夫指的方法:

var array = [1, 2, 3, 4, 5],
    copy = array.slice();
//  输出结果为false,说明它们指向了不同的数组对象    
alert(array == copy)

查阅JS手册,发现对slice方法的说明如下:

返回值
返回一个新的数组,包含从 startend (不包括该元素)的 arrayObject 中的元素。

说明
请注意,该方法并不会修改数组,而是返回一个子数组。如果想删除数组中的一段元素,应该使用方法 Array.splice()。

再证明此方法为浅复制:

var array = [{name: 'yiifaa'}],
    copy = array.slice();
//  返回true,说明第一个元素完全相同    
alert(array[0] === copy[0])

结论

巧用Array.prototype.slice()方法,可以快速复制整个数组,当然,如果传入参数,也可以只负责一部分。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值