请大神帮一下
1.不知哪里写错了?
2.还有更方便的写法吗?
打印出来少了两组对象
打印出来的结果:
[{"value":{"name":"水果","id":"1"},"children":[{"name":"梨","id":"7"}]},
{"value":{"name":"蔬菜","id":"2"},"children":[{"name":"通心菜","id":"5"}]},
{"value":{"name":"肉类","id":"3"}}]
本应该是这个结果:
[{"value":{"name":"水果","id":"1"},"children":[{"value":{"name":"苹果","id":"6"}},{"value":{"name":"梨","id":"7"}}]},
{"value":{"name":"蔬菜","id":"2"},"children":[{"value":{"name":"白菜","id":"4"}},{"value":{"name":"通心菜","id":"5"}}]},
{"value":{"name":"肉类","id":"3"}}]
var lo = [
{"id":"1","_":[{"id":"6","pid":"1","title":"苹果","sort":"0"}, {"id":"7","pid":"1","title":"梨","sort":"1"}],"pid":"0","title":"水果","sort":"0"},
{"id":"2","_":[{"id":"4","pid":"2","title":"白菜","sort":"0"},{"id":"5","pid":"2","title":"通心菜","sort":"1"}],"pid":"0","title":"蔬菜","sort":"0"},
{"id":"3","pid":"0","title":"肉类","sort":"0"}
];
var ko = [{'id':'1','name':'第一个'},{'id':'2','name':'第二个'},{'id':'3','name':'第三个'}];
var categoryDataArr = [];
var categoryData = {};
for(i in lo){
categoryData = {};//循环初始化
categoryData.value = {};//循环初始化
categoryData.value.name = lo[i].title;
categoryData.value.id = lo[i].id;
if(lo[i]._){
// console.log(JSON.stringify(lo[i]._));
for(j in lo[i]._){
categoryData.children = [];
categoryData.children.value = {};
// console.log(JSON.stringify(lo[i]._[j]));
categoryData.children.value.name = lo[i]._[j].title;
categoryData.children.value.id = lo[i]._[j].id;
categoryData.children.push(categoryData.children.value);
// console.log(JSON.stringify(categoryDataArr.children));
}
}
categoryDataArr.push(categoryData);
}
console.log(JSON.stringify(categoryDataArr));
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
categoryData.children = []; 一行
答更方便的写法,这样代码结构会比较好看点,有些细节不知道合不合规范,求打脸