fcy8023
IT忆
采纳率100%
2020-06-11 19:10

我在使用forEach函数的时候,先将原始数据赋值给了一个新的变量,然后在删除新变量temp中的数据时,原始数据也发生了改变,这是为什么??

  • javascript
已采纳
var arrObj = [5,39,6,38,64,26,14,48,59,25,239,6,];
var temp = arrObj;
arrObj.forEach(function (val, index) {
  if (val % 2 == 0) {
    temp.splice(temp.indexOf(val), 1)
  }
});
console.log(arrObj);

刚开始我使用原始数据,遍历出对应的值,然后查找出相对应的索引,在原始数据上删除。程序执行完成之后我发现,forEach函数并不能遍历出所有的元素。

于是我将原有的数据赋值给了一个新的变量,再进行数组遍历的时候,操作,新创建的数组,却发现,原有的原始数据也跟这发生了改变,

而我并没有操作原始数据

不明呗这是什么原因。

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享
  • 邀请回答

2条回答

相关推荐