新节 2021-04-19 11:01 采纳率: 70%
浏览 57
已结题

想把数组外层的selected和chlidren里面的这个属性都改为false,递归如何写

 let newArr = [
            {
                name: "2020合集",
                selected: true,
                children: [
                    {
                        id: 1,
                        selected: true,
                        name: "夏",
                    },
                    {
                        id: 2,
                        selected: true,
                        name: "秋",
                    }
                ]
            }
        ]

  • 写回答

5条回答 默认 最新

  • 崽崽的谷雨 2021-04-19 11:09
    关注
     let newArr = [
                {
                    name: "2020合集",
                    selected: true,
                    children: [
                        {
                            id: 1,
                            selected: true,
                            name: "夏",
                        },
                        {
                            id: 2,
                            selected: true,
                            name: "秋",
                        }
                    ]
                }
            ]
           let c= this.loop(newArr, 'selected', false);
           console.log(newArr) 
    loop = (data, key, val) => {
          data.map((item) => {
                item[key] = val;
                if (item.children && item.children.length > 0) {
                    loop(item.children, key, val);
                }
            })
     }
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(4条)

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 1月30日