js数组中将有父子关系的平行数组转换成树形数据

681 ℃
let data = [
{id: 1, text: '清北', parentId: 0},
{id: 2, text: '浙京', parentId: 2},
{id: 3, text: '浙京', parentId: 1},
{id: 4, text: '浙京', parentId: 3},
{id: 5, text: '清北', parentId: 1},
{id: 6, text: '浙京', parentId: 0},
];
data.forEach(ele => {
  let parentId = ele.parentId;
  if (parentId === 0) {
    //parentId===0是根路径
  } else {
    //其它的扔到根路径child下面数组中.
    data.forEach(d => {
      if (d.id === parentId) {
        let childArray = d.child;
        if (!childArray) {
          childArray = []
        }
        childArray.push(ele);
        d.child = childArray;
      }
    })
  }
});
//去除重复元素
data = data.filter(ele => ele.parentId === 0);
console.log('输出结果: ', data);

//输出结果
//0: {id: 1, text: '清北', parentId: 0, child: Array(2)}
//1: {id: 6, text: '浙京', parentId: 0}

es6语法中数组的使用方法(...展开符)

php如何修改原数组(foreach循环)

js创建一个指定长度数组(根据数字显示数组长度)

js两个数组是否存在重复的元素

js根据相同key合并生成子数组children(兼容ie10)

标签: 数组, 树形数组

上面是“js数组中将有父子关系的平行数组转换成树形数据”的全面内容,想了解更多关于 js 内容,请继续关注web建站教程。

当前网址:https://m.ipkd.cn/webs_2163.html

声明:本站提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请发送到邮箱:admin@ipkd.cn,我们会在看到邮件的第一时间内为您处理!

C#语法如何通过身份证号码判断是否成年
vue项目中v-slot具名插槽的使用方法
es6语法中如何将字符串转为大小写
简单介绍一下什么是TS的应用(vue开发)
mysql如何用最简单的方法实现行转列(把行转成列)