gpt4 book ai didi

javascript - 在 TreeView 中显示 JavaScript 对象

转载 作者:行者123 更新时间:2023-11-28 09:49:41 24 4
gpt4 key购买 nike

是否有任何 TreeView 组件支持显示任意 JavaScript 对象,例如:

{
foo: 'bar'
zee: [1, 2, 3]
}

这会产生以下 View :

/----foo 
| |
| |-- 'bar'
|
|--zee
|
|--
|--1
|--2
|--3

注意,上面的ascii树只是为了演示树结构,并不一定是最终结果。

最佳答案

const Tree=(o,m=o,v='')=>{
for(e in o){
if(typeof o!=='object'){console.log(v+'┗╸'+o);return}
Array.isArray(o)?!Array.isArray(o[e])?console.log(v+(o.length===1||o[e]===o[o.length-1]?'┗╸':'┣╸')+o[e]):Tree(o[e],m,v+(o.length===1||o[e]===o[o.length-1]?' '.repeat(o[e].toString.length+1):'┃'+' '.repeat(e.length))):(console.log(v+(e===Object.keys(m)[0]?'┏╸':Object.keys(o).length===1||Object.keys(o)[Object.keys(o).length-1]===e?'┗╸':'┣╸')+e),Tree(typeof o[e]!=='object'?String(o[e]):o[e],m,v+(Object.keys(o).length===1||Object.keys(o)[Object.keys(o).length-1]===e?' '.repeat(e.length+1):'┃'+' '.repeat(e.length))))
}
}
//Usage : Tree(YourObjHere)

//Example :
Tree({
foo: 'bar',
zee: [1, 2, 3]
})

//Let me know if bugs

关于javascript - 在 TreeView 中显示 JavaScript 对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11238140/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com