let a = [{ "k": [{ "k": [{ "k": [{ "name": "名称4" },{ "name": "名称5" }], "name": "名称2" }], "name": "名称1" }], "name": "名称0" }, { "k": [{ "k": [{ "k": [{ "name": "名称44" }], "name": "名称22" }], "name": "名称11" }], "name": "名称00" }] // 希望的结果 ['名称0-名称1-名称2-名称3-名称4','名称0-名称1-名称2-名称3-名称5', '名称00-名称11-名称22-名称33-名称44']
3 回答
慕丝7291255
TA贡献1859条经验 获得超6个赞
老哥你 a 里面没有 3,怎么期望输出 3。
const flat = l1Arr => [].concat(...l1Arr)
const iter = arr =>
flat(arr.map(
i => i.k
? iter(i.k).map(j => i.name + '-' + j)
: i.name
))
const output = iter(a)
console.log(output)
// [ '名称0-名称1-名称2-名称4', '名称0-名称1-名称2-名称5', '名称00-名称11-名称22-名称44' ]
达令说
TA贡献1821条经验 获得超6个赞
添加回答
举报
0/150
提交
取消