let arr = [
{id:0,name:'西安'},
{id:1,name:'北京'},
{id:0,name:'上海'},
{id:2,name:'广州'},
{id:1,name:'深圳'},
{id:3,name:'武汉'}
]
function groupBy(array, f) {
let groups = {};
array.forEach(function(o) {
let group = JSON.stringify(f(o));
groups[group] = groups[group] || [];
groups[group].push(o);
});
return Object.keys(groups).map(function(group) {
return groups[group];
});
}
this.groupBy(arr, function(item) {
return item.id;
});