el-table原始列表转换成树形数据

element-ui的el-table可以显示树形数据,不过对数据格式有要求,只有带children属性的行才能树形展开和收起,假设原始数据是json列表,数据已经按colx排序,我们希望在el-table中同colx值得只显示一条,有多条数据的可以树形展开和收起。下面我们用js来实现,该转换功能在node后端或者javascript前端都可以。

javascript 复制代码
function tree(list){
	if (list.length==0) return [];
	let newlist=[list[0]];
	
	for (let i=1;i<list.length;i++) {
		if (list[i]["colx"]===newlist[newlist.length-1]["colx"]) { 
			if (newlist[newlist.length-1]["children"]==undefined) {
				newlist[newlist.length-1]["children"]=[list[i]]
				}
			else { newlist[newlist.length-1]["children"].push(list[i]); }
			}
		else {
			newlist.push(list[i]);
			}
		}
	return newlist;
	}
相关推荐
大怪v1 小时前
【Virtual World 04】我们的目标,无限宇宙!!
前端·javascript·代码规范
蓝瑟4 小时前
告别重复造轮子!业务组件多场景复用实战指南
前端·javascript·设计模式
渴望成为python大神的前端小菜鸟5 小时前
浏览器及其他 面试题
前端·javascript·ajax·面试题·浏览器
1024肥宅5 小时前
手写 new 操作符和 instanceof:深入理解 JavaScript 对象创建与原型链检测
前端·javascript·ecmascript 6
soda_yo5 小时前
浅拷贝与深拷贝: 克隆一只哈基米
前端·javascript·面试
用户6600676685396 小时前
从“养猫”看懂JS面向对象:原型链与Class本质拆解
前端·javascript·面试
之恒君6 小时前
JavaScript 对象相等性判断详解
前端·javascript
程序员爱钓鱼7 小时前
Node.js 编程实战:理解 Buffer 与 Stream
后端·node.js·trae
掘金安东尼7 小时前
前端周刊第443期(2025年12月1日–12月7日)
前端·javascript
执携7 小时前
Vue Router (导航守卫)
前端·javascript·vue.js