色综合图-色综合图片-色综合图片二区150p-色综合图区-玖玖国产精品视频-玖玖香蕉视频

您的位置:首頁(yè)技術(shù)文章
文章詳情頁(yè)

javascript - js 對(duì)象深拷貝和賦值

瀏覽:95日期:2023-02-17 16:58:33

問(wèn)題描述

代碼中得到一個(gè)數(shù)組arr=[1,2,3];因?yàn)轳R上會(huì)被銷(xiāo)毀,所以不能直接賦值給對(duì)象Obj.a,請(qǐng)問(wèn)這種情況jquery如何寫(xiě),使得arr銷(xiāo)毀之后Obj.a=[1,2,3]?

問(wèn)題解答

回答1:

一般情況下很少會(huì)在 JS 中遇到“銷(xiāo)毀”。然后,我不明白你所謂的立即銷(xiāo)毀是指什么?

如果是指 delete arr,那么直接賦值也不會(huì)有問(wèn)題,如下圖:

javascript - js 對(duì)象深拷貝和賦值

如果你是要改變 arr 的內(nèi)容。那么可以復(fù)制一個(gè)數(shù)組(有幾種方法,concat 只是其中一種)

Obj.a = [].concat(arr);

如果確實(shí)需要深拷貝,jQuery.fn.clone(),不過(guò)貌似有一些限制。

如果其它數(shù)據(jù),自己寫(xiě)深拷貝還是有點(diǎn)難度也比較麻煩,不如用 Lodash 的 cloneDeep()

回答2:

拷貝數(shù)組:

利用 slice

obj.a = arr.slice();

javascript - js 對(duì)象深拷貝和賦值

利用 JSON

obj.a = JSON.parse( JSON.stringify(arr));

javascript - js 對(duì)象深拷貝和賦值

回答3:

沒(méi)看懂你銷(xiāo)毀的意思。。。。至于深拷貝:

function cloneObj(obj){ if( !obj || typeof obj == 'string' ){return obj; } else if ( obj instanceof Array ){return [].concat(obj); } else {var tempObj = {};for( var key in obj ){ tempObj[key] = cloneObj(obj[key]);}return tempObj; }}回答4:

如果你使用 ES2015 的話(huà),可以使用對(duì)象展開(kāi)運(yùn)算符來(lái)拷貝。

obj.a = [...arr]

標(biāo)簽: JavaScript
相關(guān)文章:
主站蜘蛛池模板: 国产免费久久精品久久久 | 亚洲加勒比在线 | 国产精品亚洲一区二区三区久久 | 91久久精一区二区三区大全 | 欧美1314性欧美 | 3d动漫精品成人一区二区三 | 欧美高清亚洲欧美一区h | 亚洲国产精品一区二区第四页 | 日本免费一区二区三区三州 | 在线视频久草 | 特黄特黄黄色大片 | aaa在线| 欧美三级真做在线观看 | 国产91九色刺激露脸对白 | 九九视频在线看精品 | 亚洲欧美成人综合在线 | 91精品久久久久含羞草 | 国产成人免费全部网站 | 美女毛片在线看 | 国产亚洲精品自在久久77 | 欧美成人视 | 国产成人一区二区三区精品久久 | 三级视频在线播放线观看 | 伊人久久青草青青综合 | 精品视频在线观看一区二区三区 | 综合亚洲一区二区三区 | 国产精品爱久久久久久久9999 | 精品视频网 | 香蕉网站狼人久久五月亭亭 | 永久免费毛片在线播放 | 精品在线观看国产 | 国产成人亚洲合集青青草原精品 | 中文字幕成人免费高清在线 | 久久精品视频大全 | 一区二区三区欧美视频 | 久久精品免费一区二区三区 | 性色午夜视频免费男人的天堂 | 国产女人毛片 | 欧美成人精品久久精品 | 欧美成人精品手机在线观看 | 一区二区三区 亚洲区 |