代码代码如下,我需要将data里面的数据递归一遍然后保留层级关系放到newTempData里面,现在不知道如何在每次递归时给newTempData加层级,也就是childrenvar data = [ { name: "11111", children: [ { name: "22222" }, { name: "22222" }, { name: "22222", children: [ { name: "33333" } ] } ] }, { name: "1111", children: [ { name: "22222", defaultUrl: "www.baidu.com", text: "text" } ] }];var newTempData = [];function filterData(arr){ for(var i = 0, len = arr.length; i < len; i++){ // 如果有children属性,则对children元素进行递归 if(arr[i].children){ filterData(arr[i].children); } newTempData.push(arr[i]); }}filterData(data);
1 回答
慕森王
TA贡献1777条经验 获得超3个赞
应该没错吧?
function filterData(arr){
var result = [];
for(var i = 0, len = arr.length; i < len; i++){
var obj = {
"defaultUrl": arr[i].defaultUrl,
'name': arr[i].name
}
// 如果有children属性,则对children元素进行递归
if(arr[i].children){
obj.children = filterData(arr[i].children);
}
result.push(obj)
}
return result;
}
添加回答
举报
0/150
提交
取消