文章詳情頁
javascript - 數組賦值問題
瀏覽:127日期: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. javascript - 微信報redirect_uri參數錯誤2. 我在centos容器里安裝docker,也就是在容器里安裝容器,報錯了?3. android - 類似微信朋友圈或者QQ空間說說那種點擊圖片放大,并且有放大縮小手勢,左右滑動圖片手勢效果4. java - 初學SSM 在import自己寫的包下的類的時候飄紅,求大神解答?5. 網頁動畫等過渡效果,CSS3 transitions 和 jQuery animations 誰實現的性能更好?6. javascript - 怎么簡寫這段jQuery功能?7. springboot中不能獲取post請求參數的解決方法8. javascript - 如何計算字符串寬度?9. java - Atom中文問題10. angular.js - angular中的a標簽不起作用
排行榜
