JS中一种快速浅复制数组的方法
今天,偶然在Javascript的练习中,发现了一种数据快速千夫指的方法:
var array = [1, 2, 3, 4, 5],
copy = array.slice();
// 输出结果为false,说明它们指向了不同的数组对象
alert(array == copy)
查阅JS手册,发现对slice方法的说明如下:
返回值
返回一个新的数组,包含从 start 到 end (不包括该元素)的 arrayObject 中的元素。
说明
请注意,该方法并不会修改数组,而是返回一个子数组。如果想删除数组中的一段元素,应该使用方法 Array.splice()。
再证明此方法为浅复制:
var array = [{name: "yiifaa"}],
copy = array.slice();
// 返回true,说明第一个元素完全相同
alert(array[0] === copy[0])
结论
巧用Array.prototype.slice()方法,可以快速复制整个数组,当然,如果传入参数,也可以只负责一部分。
声明:该文观点仅代表作者本人,牛骨文系教育信息发布平台,牛骨文仅提供信息存储空间服务。
- 上一篇: 在PHP代码中取得当前日期时间再插入数据库
- 下一篇: MFC应用程序执行流程