文章詳情頁
javascript - 數組賦值問題
瀏覽:110日期: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 - sublime快鍵鍵問題2. javascript - avalon使用:duplex設置select默認option的bug3. css如何實現兩欄布局,左邊固定寬度,右邊寬度自適應,且高度和瀏覽器當前高度一致?4. javascript - 有適合開發手機端Html5網頁小游戲的前端框架嗎?5. css3 - css做動畫效果6. mysql - 電商如何存儲營業額數據7. javascript - 表單ajax提交后跳轉,手機按返回又進入這個表單頁了!!8. css - PC端不同分辨率下字體大小呈現9. HTML5禁止img預覽該怎么解決?10. python - nginx 小白, nginx 啟動后 80 端口無法訪問
排行榜
