问题描述
- javascript按首字母分类问题
-
希望实现的效果: 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
时间: 2024-08-03 16:52:00