js深度遍历, 使用递归删除某一空字段

248 阅读1分钟
const deleteChildren(data) {
  data.forEach(item => {
    const map = data => {
      if (['', null, undefined].includes(data?.children) || !data?.children?.length > 0) {
        delete data.children
      }
      data?.children && data?.children.forEach(child => map(child));
    }
    map(item)
  })
  return data;
}
console.log(delete(options))