JavaScript无引用复制一个Array数组的每一个元素到另一个数组


发布者 ourjs  发布时间 1542092009789
关键字 JS学习  JavaScript 

复制数组元素


如果目标数组不存在,可使用 slice/ concat 复制

var destinationArray = sourceArray.slice();
var destinationArray = sourceArray.concat();

如果目标数组存在,且想保持引用,可使用 push

destinationArray.push.apply(destinationArray, sourceArray);

元素无引用复制


如果数组中对象是object,以上方法复制的数组中的元素,还是相互引用的

var src = [ { name: 'a' }, { name: 'b' } ];
var tar = src.slice();

//更改 arr 中元素
src[0].name = 'c';
console.log(tar[0]);

> { name: "c" }

最简单的方法是使用 JSON 序列化来复制完全独立的数组

var cloneArray = JSON.parse(JSON.stringify(originalArray));









 热门文章 - 分享最多
  1. 用JavaScript测试图像上两点之间的距离
  2. 用纯CSS改变html radio/checkbox默认背景颜色样式
  3. 用JavaScript实现basename获取路径中的文件名
  4. redis5.x新特性,Stream流数据类型使用简单教程
  5. css去掉table的td单元格的间距cellspacing,设置隔行显示不同背景颜色
  6. Redis只往zset有序集合添加不存在的数据:关键字索引查询构建+源码分析
  7. bootstrap-datetimepicker时间日期范围选取组件使用说明及简单教程
  8. 用jQuery将JavaScript对象转换为querystring查询字符串
  9. 用JavaScript往select元素中添加new option下拉选项

 相关阅读
  1. JavaScript使用类似break机制中断forEach循环
  2. 用jQuery将JavaScript对象转换为querystring查询字符串
  3. 用JavaScript往select元素中添加new option下拉选项
  4. bootstrap-datetimepicker时间日期范围选取组件使用说明及简单教程
  5. 用JavaScript实现basename获取路径中的文件名
  6. 用JavaScript测试图像上两点之间的距离
  7. JavaScript运算出现很多小数导致运算不精确的问题,用toFixed解决
  8. 使用Node.JS批量查找替换目录下文本文件中图片地址内容
  9. 判断Node.JS TCP Socket当前连接状态
  10. Node.JS进程间通讯的几种方法:Redis Publish/Subscribe 和 UDP Socket

  开源的 OurJS
OurJS开源博客已经迁移到 OnceOA 平台。

  关注我们
扫一扫即可关注我们:
OnceJS

OnceOA