希望实现的效果: obj={A:['鞍山','安阳',...],B:['北京',...]}
function charClass(data){
var obj={};
if(data.length===0) return;
for(var i=0;i<data.length;i++){
obj[$PinYin.searchCap(data[i])]=data[i];
}
return obj;
}
data:是地区数组数据
$PinYin.searchCap(): 是获取首字母的方法
没有C币 >_<
我自己摸出来了,这问题也可以看成对象里添加对象或数组
下面是改进的方法 啦啦啦~
function charClass(data){
var obj=[];
if(data.length===0) return;
for(var i=0;i<data.length;i++){
if(!obj[$PinYin.searchCap(data[i])]){
obj[$PinYin.searchCap(data[i])]=[];
}
obj[$PinYin.searchCap(data[i])].push(data[i]);
}
return obj;
}
楼上居然发英文网站 >_< 本屌表示看不懂
http://stackoverflow.com/questions/7567301/javascript-group-by-array-content
http://stackoverflow.com/questions/6781722/fast-grouping-of-a-javascript-array