【发布时间】:2019-02-23 13:43:13
【问题描述】:
这是我的嵌套对象
var arr = [{
"children": [{
"children": [{
"children": [],
"Id": 1,
"Name": "A",
"Image": "http://imgUrl"
}],
"Id": 2
"Name": "B",
"Image": "http://imgUrl"
}],
"Id":3,
"Name": "C",
"Image": "http://imgUrl"
}]
我想把上面的转换成下面的格式
[{
"Name": "C",
"Id": 3,
"Image": "http://imgUrl"
}, {
"Name": "B",
"Id": 2,
"Image": "http://imgUrl"
}, {
"Name": "A",
"Id": 1,
"Image": "http://imgUrl"
}]
我写了下面的代码来做到这一点
var newArr = []
function getNestedObj(obj){
if(obj.length){
for ( var i=0; i<obj.length; i++){
var newObj = {};
newObj.Name = obj[i].Name;
newObj.Id = obj[i].Id;
newObj.Image = obj[i].Image;
newArr.push(newObj);
if(obj[i].children.length !=0 ){
getNestedObj(obj[i].children)
}
else {
return newArr;
}
}
}
}
我想简化上面的功能?我怎样才能做到这一点?
【问题讨论】:
-
现在您的代码按预期工作了吗?或者它给出了一些错误或意外的结果?如果它工作,也许你应该去codereview.stackexchange.com询问
-
@ramya-selvaraj 你在“Id”后面少了一个逗号: 2. 我不能编辑它,因为编辑需要至少 6 个字符。
-
@JasperZelf 谢谢,我现在编辑:)
标签: javascript arrays json object