javascript - 我想根据配置数组生成字符串
问题描述
我有一个对象数组。
[{id:"a5", parent: a3, value:"great grand child conmpnent"},
{id:"a1", parent: null, value:"parent conmpnent"},
{id:"a2", parent: a1, value:"child conmpnent"},
{id:"a3", parent: a2, value:"grand child conmpnent"},
{id:"a4", parent: a2, value:"grand child conmpnent"}]
我想根据这个数组生成下面的字符串。任何人都可以帮忙.. 格式化无关紧要,它只是一个字符串
解决方案
我解决了这个...
var arr = [{ id: "a5", parent: "a3", value: "great grand child conmpnent" },
{ id: "a1", parent: null, value: "parent conmpnent" },
{ id: "a2", parent: "a1", value: "child conmpnent" },
{ id: "a3", parent: "a2", value: "grand child conmpnent" },
{ id: "a4", parent: "a2", value: "grand child conmpnent" }];
const transform = (arr, parent) => {
var str = '';
for (let key in arr) {
if (arr[key].parent == parent) {
str+= '<ul><li id="'+arr[key].id+'"><a>'+arr[key].value+'</a>'+ transform(arr, arr[key].id)+'</li></ul>';
}
}
return str;
}
var generate = (arr) => {
let parent = '';
let str = '';
for(let key in arr){
if(arr[key].parent == null){
parent = arr[key];
}
}
str = transform(arr, parent.id);
return '<ul><li id="'+parent.id+'"><a>'+parent.value +'</a>'+ str +'</li></ul>';
}
console.log(generate(arr));
推荐阅读
- javascript - 如何使用谷歌云功能实例减少冷启动时间?
- go - Goroutines 节流示例
- qt - Qt:从代码中的任何位置访问当前设置文件
- sql - 求和的最大值
- c# - 获取 mongodb 文档但 IQueryable 上的 ToListAsync 会引发异常
- python-3.x - '你必须提示输入数据'-在 python 编码问题中说,但我不知道我的代码有什么问题?
- go - 使用 Echo 框架进行基本身份验证
- angular - 在 Ionic 中使用 Angular 路由器传递数据
- python - SQLAlchemy如何附加依赖于同一模型的其他列的列
- reactjs - 使用谷歌浏览器扩展站点地图生成器生成站点地图时卡住了