js带有对象的数组扁平化

124 阅读1分钟
function NestedToFlat(data, pid) {
  let res = [];
  for (let i = 0; i < data.length; i++) {
    res.push({
      id: data[i].id,
      name: data[i].name,
      pid: pid || 0, //parentID
    });
    // 根据不同字段进行递归
    if (data[i].routes) {
      res = res.concat(NestedToFlat(data[i].routes, data[i].id));
    }
  }
  return res;
}