在平时的开发中,难免会遇到需要对接口获取的数据进行处理,例如以下数据
const arr = [
{a: "系列1",b: 2,c: 3},
{a: "系列2",b: 2,c: 3},
{a: "系列3",b: 2,c: 3}
]
我们需要对a字段进行分组,将b和c字段单独取出来,那么我们就可以用数组的forEach方法和对象的entries方法来实现,实例代码如下
arr.forEach(obj => {
const {
a,
...rest
} = obj;
Object.entries(rest).forEach(([key, value]) => {
result.push({
a,
[key]: value
});
});
});
1、首先我们需要遍历原数组,拿到需要分组的字段a,然后通过rest参数拿到其他字段
2、再通过Object.entries将rest转成数组通过forEach拿到key和value,将数据存至数组中,这样就拿到了我们想要的数据