js 遞歸,根據(jù)key或id,替換嵌套數(shù)組對象里面的對象

需求:

將key為123的對象,替換成newObj,他們的key相同

知識點

for循環(huán)--更改原數(shù)組

let obj = {
  key:'111'
  title: 'title',
  children:[
     {
        key:'123'
        title: '舊title',
     }
  ]
}
let newObj = {
   key:'123'
   title: '新title'
}



let editTreeData = (treeData,newTreeNode) => { 
    for (let i = 0, len = treeData.length; i < len; i++) { 
      if(treeData[i].children){
          this.editTreeData(treeData[i].children,newTreeNode)
        }   
      if (treeData[i].key === newTreeNode.key) {
        treeData[i] = newTreeNode;
      }
    }
    return treeData 
}



editTreeData(obj,newObj)

// 輸出
let obj = {
  key:'111'
  title: 'title',
  children:[
     {
        key:'123'
        title: '新title',
     }
  ]
}

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

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

  • 第一部分 HTML&CSS整理答案 1. 什么是HTML5? 答:HTML5是最新的HTML標準。 注意:講述HT...
    kismetajun閱讀 28,848評論 1 45
  • Swift1> Swift和OC的區(qū)別1.1> Swift沒有地址/指針的概念1.2> 泛型1.3> 類型嚴謹 對...
    cosWriter閱讀 11,679評論 1 32
  • 第一章 錯誤處理: 錯誤: 程序運行過程中,導致程序無法正常執(zhí)行的現(xiàn)象(即bug) 現(xiàn)象: 程序一旦出錯,默認會報...
    fastwe閱讀 1,256評論 0 1
  • 一、基本數(shù)據(jù)類型 注釋 單行注釋:// 區(qū)域注釋:/* */ 文檔注釋:/** */ 數(shù)值 對于byte類型而言...
    龍貓小爺閱讀 4,467評論 0 16
  • 黃昏,一個無論怎么看都是天空最美的時刻。 靈響陶也抱著裝有各種‘怎么看都很稀有的石頭’的袋子慢慢的向家里走去。他望...
    自欺在欺人閱讀 222評論 0 0

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