我有一个对象的json数组,如下所示:{id:'the id', name:'the name'};
,我需要遍历该数组,并按其name属性按字母顺序对每个对象进行分组。有没有一种方法,而不必使用带有每个字母的switch / if语句?
我不想做的是这样的:
if(data[i].name..slice(0, 1) == 'a') {
...
}
它是一个大型数组,其中包含近1,000个对象。我的目标是最终将他们添加到潜水中,所以看起来像这样:
4
4品脱
4块饼干
一种
苹果
亚历克斯
亚当
乙
鲍勃
比利
最佳答案
您可以这样浏览您的收藏集:
var groupedCollection = {};
for(...){//loop throug collection
var firstLetter = data[i].charAt(0);
if(groupedCollection[firstLetter] == undefined){
groupedCollection[firstLetter] = [];
}
groupedCollection[firstLetter].push(data[i]);
}
//groupedCollection now contait data in the form of {a: [], b:[], etc...}