文章詳情頁(yè)
javascript - 數(shù)組賦值問(wèn)題
瀏覽:107日期:2023-04-08 13:25:25
問(wèn)題描述
為什么把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]
問(wèn)題解答
回答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. objective-c - ios百度地圖定位問(wèn)題2. html5 - 如何解決bootstrap打開模態(tài)modal窗口引起頁(yè)面抖動(dòng)?3. javascript - 求助關(guān)于js正則問(wèn)題4. javascript - node.js服務(wù)端渲染解疑5. javascript - 求助這種功能有什么好點(diǎn)的插件?6. html5 - rudy編譯sass的時(shí)候有中文報(bào)錯(cuò)7. html - css 如何添加這種邊框?8. 為何 localStorage、sessionStorage 屬于html5的范疇,但是為何 IE8卻支持?9. 微信開放平臺(tái) - Android調(diào)用微信分享不顯示10. javascript - 關(guān)于定時(shí)器 與 防止連續(xù)點(diǎn)擊 問(wèn)題
排行榜

熱門標(biāo)簽