我有给定嵌套对象数组的数组。每个嵌套数组都具有属性“行”:
myTextBlock=[
{ "row": [{text: "test1", category: 1}, {text: "test2", category: 2}, {text: "test3", category: 1}]},
{ "row": [{text: "test4", category: 2}, {text: "test5", category: 1}, {text: "test6", category: 3}]},
{ "row": [{text: "test7", category: 1}, {text: "test8", category: 3}, {text: "test9", category: 1}]}
];
我需要遍历嵌套的文本键(在保留顺序的同时连接字符串,在每行之后添加一个换行符,并在两者之间添加一个逗号)。
期望的结果:
test1 test2 test3 \n test4 test5 test6 \n test7 test8 test9
由于某种原因,我无法使“行”属性的迭代部分起作用。如果您可以帮助我完成这一部分,我会自己解决其余的问题。
提前致谢!
您可以使用array.reduce两次,将两个数组级别都转换为单个值:
let myTextBlock=[
{ "row": [{text: "test1", category: 1}, {text: "test2", category: 2}, {text: "test3", category: 1}]},
{ "row": [{text: "test4", category: 2}, {text: "test5", category: 1}, {text: "test6", category: 3}]},
{ "row": [{text: "test7", category: 1}, {text: "test8", category: 3}, {text: "test9", category: 1}]}
];
let result = myTextBlock.reduce((state, current) => {
return state +
current.row.reduce((st, cur) => st + cur.text + " ", "") +
"\n";
}, "");
console.log(result);
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句