【发布时间】:2017-06-08 13:42:54
【问题描述】:
我已经为此寻找了很多地方,但找不到类似的东西。我需要像这样转换嵌套objects 的array:
var currentArr = [
{ name: 'Michael',
children: ['Lara']
},
{ name: 'Susy',
children: ['Mike','Ana','Mary']
},
{ name: 'Bruno',
children: ['Clark']
}
]
像这样进入JSON 对象:
var result = [
{ 'name' : 'Michael',
'children': [
{ 'name' : 'Lara' }
},
{ 'name' : 'Susy',
'children': [
{ 'name' : 'Mike' },
{ 'name' : 'Ana' },
{ 'name' : 'Mary' }
]
},
{ 'name' : 'Bruno',
'children': [
{ 'name' : 'Clark' }
]
}
]
我尝试过使用嵌套的reduce、map,但我无法让它按照我想要的方式构建。特别是在循环遍历来自children 的字符串数组时,我需要返回一个以name 为键的映射结果。
它需要嵌套,因为result 和currentArr 将是入口点。
【问题讨论】:
-
resultObj应该是一个数组吧? -
这不是一个有效的 JSON 对象。对象的元素是
key: value对,但您的顶级对象没有任何键。 -
补充说:它不是 JSON -- 这是一个符号,你不遵守它。
-
任何认为他们现在可以回答这个问题的人都不能,因为 OP 要求的输出是不可能的。
-
@JuanMendes 查看编辑历史。他最初在阵列周围有
{},而不是[]。
标签: javascript arrays object dictionary nested