字母+数字字符串分类

字符串里边每个TOKEN都是字母+数字比如:A1,B1,C1,C2,A2,B2。请对字符串设计一个函数使处理结果为
A-->{A1,A2}
B-->{B1,B2}
C-->{C1,C2}

//没有给定语言,我就用js给你写吧
<script>
var strs="A1,B1,C1,C2,B2,A2";//字符串
var arrStrs=strs.split(',');//得到["A1","B1","C1","C2","B2","A2"]
var arrSet=new Array();//集合,用于放置相同首字母分类结果集,即得到:['A1,A2','B1,B2','C1,C2'];
//遍历字符串
for(var i=0;i<arrStrs.length;i++){
    var firstChar=arrStrs[i].substring(0,1);//获取每个字符串首字母
    var isExist=false;//判断该首字母是否已经加入分类结果集
    for(var j=0;j<arrSet.length;j++){
        if(arrSet[j].indexOf(firstChar)!=-1){//存在该首字母
            arrSet[j]+=","+arrStrs[i];//值归并到分类中
            isExist=true;//更改存在状态
            break;
        }
    }
    if(!isExist){//如果不曾存在
        arrSet.push(arrStrs[i]);//结果集加入新分类
    }
}
//现在arrSet结果集['A1,A2','B1,B2','C1,C2'];
//alert(arrSet);可查看arrSet结果
//结果集按首字母分组,即得到:{A:'A1,A2'},{B:'B1,B2'},{C:'C1,C2'}
var jsons=new Array();
for(var i=0;i<arrSet.length;i++){
    var firstChar=arrSet[i].substring(0,1);//获取首字母
    var jsonStr='{\''+firstChar+'\':\''+arrSet[i]+'\'}';//拼接json字符串
    jsons.push(eval('(' + jsonStr + ')'));//字符串转换成json对象加入jsons数组
}
//结果[{A:'A1,A2'},{B:'B1,B2'},{C:'C1,C2'}]
alert(JSON.stringify(jsons));//查看结果
</script>