您的位置:首頁技術文章
文章詳情頁

javascript - 數組賦值問題

瀏覽:91日期: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
相關文章:
国产综合久久一区二区三区