文章詳情頁
javascript - 數(shù)組賦值問題
瀏覽:92日期:2023-04-08 13:25:25
問題描述
為什么把a(bǔ)rr的值賦值arrnew,為什么arr改變arrnew也會(huì)跟著改變?如果希望arrnew得到arr的數(shù)據(jù)后,不跟著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:數(shù)組也是屬于對(duì)象,屬于引用類型,當(dāng)進(jìn)行賦值時(shí),賦值的是地址,并不會(huì)克隆一個(gè)新對(duì)象進(jìn)行賦值。
sort會(huì)改變?cè)瓟?shù)組
綜上兩點(diǎn),改變arr自然會(huì)改變arrnew
回答2:let arrnew = arr.slice()
回答3:這篇文章對(duì)你有很大幫助!click me
回答4:你對(duì)arrnew的賦值只是地址的引用。
如果要復(fù)制數(shù)組,可以使用擴(kuò)展運(yùn)算符,如下:
let arrnew = [...arr];
標(biāo)簽:
JavaScript
相關(guān)文章:
1. python小白 關(guān)于類里面的方法獲取變量失敗的問題2. thinkPHP5中獲取數(shù)據(jù)庫數(shù)據(jù)后默認(rèn)選中下拉框的值,傳遞到后臺(tái)消失不見。有圖有代碼,希望有人幫忙3. linux運(yùn)維 - python遠(yuǎn)程控制windows如何實(shí)現(xiàn)4. Python2中code.co_kwonlyargcount的等效寫法5. javascript - 如何用最快的速度C#或Python開發(fā)一個(gè)桌面應(yīng)用程序來訪問我的網(wǎng)站?6. django - Python error: [Errno 99] Cannot assign requested address7. mysql數(shù)據(jù)庫做關(guān)聯(lián)一般用id還是用戶名8. [python2]local variable referenced before assignment問題9. 求救一下,用新版的phpstudy,數(shù)據(jù)庫過段時(shí)間會(huì)消失是什么情況?10. python小白,關(guān)于函數(shù)問題
排行榜

熱門標(biāo)簽