qq_42481565
qq_42481565
采纳率100%
2021-03-08 13:18

javascript sort() 函数

已采纳
let arr1=[4,3,2,1];
let arr2=[];
arr2=arr1;
arr2.sort();
consol.log(arr1);//1,2,3,4
consol.log(arr2);//1,2,3,4

以上代码sort函数会改变原数组我可以理姐 但是我调用的是arr2.sort(),为什么arr1的值也会改变呢?

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

2条回答

  • weixin_50524151 Proud lion 1月前

    深浅拷贝的问题

    你把arr2 = arr1 改成 arr2 = [...arr1] 调用arr2.sort(),arr1的值就不会改变了

    点赞 1 评论 复制链接分享
  • jyn15159 木蓝茶陌*_* 1月前

    数组是引用数据类型,arr2 = arr1,实际上是把arr1的内存地址赋值给了arr2,arr2和arr1指向了同一个存地址,

    arr2 === arr1

    点赞 1 评论 复制链接分享

为你推荐