写项目的时候遇到一个问题,后端把所有的数据返回到一个数组里,根据分类的id来判断是属于哪一类的,现在把分类的方法记录一下。
let arr = [
{
"id": 263,
"name": "Chateauneuf Du Pape",
"self_order_logo": "",
"category_id": 63
},
{
"id": 304,
"name": "Add Avacado",
"self_order_logo": "",
"category_id": 63
},
{
"id": 1269,
"name": "test",
"self_order_logo": null,
"category_id": 63
},
{
"id": 1268,
"name": "Large House red 250ml",
"self_order_logo": null,
"category_id": 63
},
{
"id": 1108,
"name": "Jim Beam",
"self_order_logo": null,
"category_id": 157
},
{
"id": 328,
"self_order_logo": null,
"name": "Add Extra Beef",
"category_id": 157
},
{
"id": 1112,
"name": "Makers Mark",
"self_order_logo": null,
"category_id": 157
},
{
"id": 1111,
"name": "Bulleit Bourbon",
"self_order_logo": null,
"category_id": 157
},
{
"id": 1110,
"name": "Southern Comfort Black",
"self_order_logo": null,
"category_id": 157
},
{
"id": 317,
"self_order_logo": null,
"name": "Garlic Prawns",
"category_id": 62
},
{
"id": 1097,
"name": "tina2",
"self_order_logo": null,
"category_id": 62
}
]
groups = {};
arr.forEach(function (o) {
var dataObj = { name: o.name, self_order_logo: o.self_order_logo, category_id: o.id, };
if (groups[o.category_id]) {
groups[o.category_id]['Data'].push(dataObj);
} else {
groups[o.category_id] = { category_id: o.category_id, Data: [dataObj] };
}
});
var datas = Object.keys(groups).map(function (k) { return groups[k]; });
console.log(datas);
记录一下