有没有在js中将单个对象拆分成多个对象的黑魔法

目前有这么一个对象如下:

clipboard.png

现需要将这个对象拆分成下面这样:

clipboard.png

请问有什么骚操作黑魔法吗?

目前我拆出来的结果是这样的:

clipboard.png

阅读 9.5k
2 个回答

没有黑魔法,也没有骚操作,踏踏实实遍历属性里的b,生成新的对象就好了

没啥黑魔法,但是用es6实现起来并不麻烦

const arr = {
  opinionVO: [
    {a: '', b: '1,2,3', c: 10047},
    {a: '', b: '4,5,6', c: 10047},
  ],
};

const result = {
  ...arr,
  opinionVO: arr.opinionVO.reduce((res, item) => res.concat(...item.b.split(',').map(b => ({...item, b}))), []),
};

console.log(result)
推荐问题