const data = [
{
id: "1",
name: "monkey",
category: {
id: "2",
color: "blue"
}
},
{
id: "2",
name: "cat",
category: {
id: "1",
color: "red"
}
},
{
id: "3",
name: "snake",
category: {
id: "2"
color: "blue",
}
},
{
id: "4",
name: "elephant",
category: {
id: "1"
color: "green"
}
}
];
这是我的代码:
return (data.map(obj => obj.category ? `color: ${obj.category.color} , name: ${obj.name}` : `${obj.name}`)).join('<br>');
输出结果如下:
color: blue, name: monkey
color: red, name: cat
color: blue, name: snake
color: green, name: elephant
我想做的是按类别分组输出,如下所示:
color: blue, name: monkey
color: blue, name: snake
color: green, name: elephant
color: red, name: cat
这是我的方法:
return (data.map(data.groupBy(obj.category, "category"),obj => obj.category ? `color: ${obj.category.color} , name: ${obj.name}` : `${obj.name}`)).join('<br>').sort();
但是我遇到了错误
obj未定义
groupBy
? - Nina Scholz