Javascript 树视图数组值更新

Javascript 树视图数组值更新,javascript,reactjs,angular,Javascript,Reactjs,Angular,我有树状视图数组,需要更新书签键值true。。 现在我有了id:5使用这个id更新书签值 let articles = [ { "id":1, "title":"sample-magazine", "children":[ { "id":3, "title":"

我有树状视图数组,需要更新书签键值
true
。。 现在我有了
id:5
使用这个id更新书签值

let articles = [
   {
      "id":1,
      "title":"sample-magazine",
      "children":[
         {
            "id":3,
            "title":"cat1",
            "children":[
               {
                  "id":4,
                  "title":"page1",
                  "children":[

                  ],
                  "page":{
                     "id":2,
                     "position":2,
                     "thumbnail":null,
                     "bookmarked":null
                  },
                  "thumbnail":null,
                  "isCat":false
               },
               {
                  "id":5,
                  "title":"page2",
                  "children":[

                  ],
                  "page":{
                     "id":3,
                     "position":3,
                     "thumbnail":null,
                     "bookmarked":null
                  },
                  "thumbnail":null,
                  "isCat":false
               }
            ],
            "page":{
               "id":1,
               "position":1,
               "thumbnail":null,
               "bookmarked":null
            },
            "thumbnail":null,
            "isCat":true
         }
      ],
      "page":null,
      "thumbnail":null,
      "isCat":null
   }
]

提前感谢

您可以做的是递归搜索,当您找到值时,您可以在那里设置它

const search = (tree, target) => {
      if (tree.id === target) {
        tree.page.bookmarked = true;
      }
      for (const child of tree.children) {
        const res = search(child, target);    
        if (res) {
          return res;
        }
      }
    };
    
    search(articles[0], 5);
    
    console.log(articles)

您可能需要重新格式化数组。它在你的帖子里表现不好。另外,您是否有一些可以发布的数组循环代码?还是你从零开始?