递归实现---把数组对象最外层某个属性的值赋值给子集
/* * 功能需求:把数组对象最外层某个属性的值赋值给子集 * 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);//处理后的数据