【发布时间】:2019-07-18 17:11:04
【问题描述】:
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? -
@NinaScholz consolelog.io/group-by-in-javascript
-
为什么不在 console.logging 一切之前先按类别对数组进行排序?
标签: javascript jquery arrays object mapping