オブジェクト配列では、ある属性値と同じ要素を結合して、新しいサブオブジェクト配列を構成します.
634 ワード
例を挙げます
let data = [
{name:'aaa', id:'1', color:'blue'},
{name:'aaa', id:'2', color:'green'}
];
let temp = [];
data.forEach(x => {
let index = temp.findIndex(y => y.name == x.name);
if (index == -1) {
temp.push({
name: x.name,
list:[{
id: x.id,
color:x.color
}]
})
} else {
temp[index].list.push({
id: x.id,
color:x.color
})
}
})
結果:[
name: 'aaa',
list: [
{id:'1', color:'blue'},
{id:'2', color:'green'}
]
]