js深拷貝

export const copyObj = (obj = {}) => {

//變量先置空

? let newobj =null;

? //判斷是否需要繼續(xù)進(jìn)行遞歸

? if (typeof (obj) =='object' && obj !==null) {

newobj = objinstanceof Array ? [] : {};

? ? //進(jìn)行下一層遞歸克隆

? ? for (var iin obj) {

newobj[i] =copyObj(obj[i])

}

//如果不是對(duì)象直接賦值

? }else newobj = obj;

? return newobj;

}

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 最簡(jiǎn)單的深拷貝 JSON.parse(JSON.stringify) 第三方依賴 https://www.npmj...
    云高風(fēng)輕閱讀 686評(píng)論 0 2
  • JS深拷貝, 即傳值拷貝, 需要新建一處內(nèi)存,實(shí)現(xiàn)拷貝,具體實(shí)現(xiàn)如下: //ES5深拷貝 (1)循環(huán)遞歸: fun...
    blueskirt閱讀 918評(píng)論 0 1
  • 1:jq使用$.extend({},obj) 2:Object.assign({},obj) 這兩種比較基礎(chǔ),估計(jì)...
    領(lǐng)帶襯有黃金閱讀 196評(píng)論 0 0
  • 項(xiàng)目中會(huì)遇到的體現(xiàn)。對(duì)一個(gè)table進(jìn)行操作后,淺拷貝引用的form一起被改變。深拷貝和淺拷貝簡(jiǎn)單解釋淺拷貝和深拷...
    aatter閱讀 425評(píng)論 0 0
  • 淺拷貝只復(fù)制指向某個(gè)對(duì)象的指針,而不復(fù)制對(duì)象本身,新舊對(duì)象還是共享同一塊內(nèi)存。但深拷貝會(huì)另外創(chuàng)造一個(gè)一模一樣的對(duì)象...
    一只章魚哥閱讀 259評(píng)論 0 1

友情鏈接更多精彩內(nèi)容