文章详情页
javascript - 数组赋值问题
浏览:129日期:2023-04-08 13:25:25
问题描述
为什么把arr的值赋值arrnew,为什么arr改变arrnew也会跟着改变?如果希望arrnew得到arr的数据后,不跟着arr后面的操作要怎么写?let arr=[1,2,3,4,5]let arrnew=arrarr=arr.sort((a,b)=>{return b-a})console.log(arr)//[5, 4, 3, 2, 1]console.log(arrnew)//[5, 4, 3, 2, 1]
问题解答
回答1:数组也是属于对象,属于引用类型,当进行赋值时,赋值的是地址,并不会克隆一个新对象进行赋值。
sort会改变原数组
综上两点,改变arr自然会改变arrnew
回答2:let arrnew = arr.slice()
回答3:这篇文章对你有很大帮助!click me
回答4:你对arrnew的赋值只是地址的引用。
如果要复制数组,可以使用扩展运算符,如下:
let arrnew = [...arr];
标签:
JavaScript
相关文章:
1. java servlet后台导出上万条数据到excel,太慢!求解2. javascript - 一排三个框,各个框的间距是15px,距离外面的白框间距也是15px,这个css怎么写?3. mysql函数unix_timestamp如何处理1970.1.1以前的数据?4. 怎样使留言的数据与登录的用户名,密码保持一致(在数据库上是一行的)。5. mysql money 插入数据为什么报错?6. java - 关于使用POI解析excel中的时间格的值7. html - 急求,能否用flex或者高端点的CSS来布局这个图呢?不想用浮动或定位了8. css如何实现两栏布局,左边固定宽度,右边宽度自适应,且高度和浏览器当前高度一致?9. javascript - vue-cli 发布之后,如何在接口地址中去掉在开发环境中设置的跨域proxyTable配置10. 请问永久和临时重定向有什么区别
排行榜
