把数组对象最外层某个属性的值赋值给子集

发布时间 2023-08-16 13:24:13作者: uniqueU
 /* 
        *   功能需求:把数组对象最外层某个属性的值赋值给子集
        *   arr:要操作的数组对象
        *   propertyName:要操作的属性名
        *   value:用来保存最外层对象属性的值
        */
        function assignValueToChildren(arr, propertyName, value) {
            for (const item of arr) {
                if (item[propertyName] != '') {
                    value = item[propertyName];
                }
                if (Array.isArray(item.children) && item.children.length) {
                    item.children.forEach(child => {
                        child[propertyName] = value//将外层属性值赋值给子集
                        assignValueToChildren(item.children, propertyName, value);// 递归处理子集的子集
                    })
                }

            }
        }
     let arr = [] //数据
      assignValueToChildren(arr, 'typeRootNo', '');//调用

          console.log(arr);//处理后的数据