js操作数组,不修改原数组

js数组是引用类型的值,我们直接将原数组赋值给新的变量,由于指针指向同一个内存地址,修改数组,原数组也会被修改。

如果不想原数组被修改,可以采用以下方法:

var list = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10];

var copyList = list.slice(0);

var copyList = [].concat(list);

此时,再修改copyList的值,不会影响list的值。

es6:

es6的Array.from()和扩展语句也可以复制数组,而不会继续引用原数组。

let list = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10];

let copyList = Array.from(list);

let copyLIst = [...list];

基础用法链接:
slice
concat
Array.from()
... 扩展语句

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容