我有一个JS数组(显示的4个示例实际有66个)
[["A","Example1"],["A","Example2"],["B","Example3"],["B","Example4"]]
我正在尝试进入多选下拉菜单的对象:
var opt = [{
label: 'A', children:[
{"label":"Example1","value":"Example1","selected":"TRUE"},
{"label":"Example2","value":"Example2","selected":"TRUE"}
]
},
{
label: 'B', children:[
{"label":"Example3","value":"Example3","selected":"TRUE"},
{"label":"Example4","value":"Example4","selected":"TRUE"}
]
}
]
是否有简单的方法可以做到这一点?
使用reduce()
和forEach()
获得预期结果。
var opt = [{
label: 'A', children:[
{"label":"Example1","value":"Example1","selected":"TRUE"},
{"label":"Example2","value":"Example2","selected":"TRUE"}
]
},
{
label: 'B', children:[
{"label":"Example3","value":"Example3","selected":"TRUE"},
{"label":"Example4","value":"Example4","selected":"TRUE"}
]
}
]
var result = opt.reduce((acc, cur) => {
cur.children.forEach((row) => {
acc.push([cur.label, row.label]);
});
return acc;
}, []);
console.log(result);