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}
js根据相同key合并生成子数组children(兼容ie10)
上面是“js数组中将有父子关系的平行数组转换成树形数据”的全面内容,想了解更多关于 js 内容,请继续关注web建站教程。
当前网址:https://m.ipkd.cn/webs_2163.html
声明:本站提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请发送到邮箱:admin@ipkd.cn,我们会在看到邮件的第一时间内为您处理!