将列表list转换为三层级树状对象数组(js)
2023-12-26 14:40:28
var list =[
{ st_no:'111', st_type:'333', st_zbgna:'222', st_zbgno:'1' },
{ st_no:'1112', st_type:'333', st_zbgna:'222', st_zbgno:'1' },
{ st_no:'111', st_type:'3323', st_zbgna:'222', st_zbgno:'1' },
{ st_no:'111', st_type:'333', st_zbgna:'222', st_zbgno:'1' },
{ st_no:'15112', st_type:'333', st_zbgna:'2322', st_zbgno:'1' },
{ st_no:'111', st_type:'333', st_zbgna:'222', st_zbgno:'1' },
];
// 转换为三层级树状对象数组
var tree = [];
list.forEach(function(item) {
var level1 = tree.find(function(node) {
return node.st_zbgno === item.st_zbgno;
});
if (!level1) {
level1 = {
st_zbgno: item.st_zbgno,
children: []
};
tree.push(level1);
}
var level2 = level1.children.find(function(node) {
return node.st_no === item.st_no;
});
if (!level2) {
level2 = {
st_no: item.st_no,
children: []
};
level1.children.push(level2);
}
var level3 = {
st_zbgna: item.st_zbgna,
st_type: item.st_type
};
level2.children.push(level3);
});
// 输出结果
console.log(tree);
文章来源:https://blog.csdn.net/Korey__/article/details/135220241
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!