使用JavaScript完成一个对字符串数组进行排序的小程序

来源:互联网 发布:音乐软件最好 编辑:程序博客网 时间:2024/06/08 05:26
排序依据是字符串中重复最多的字符的出现数,例如aaab(a重复3,该字符串的排序权值为3)、ababxyxy(该字符串的排序权值为2)、
abcxyz(该字符串的排序权值为1),排序后应该是abcxyz、ababxyzy、aaab
/**
*排序
@param opt 要排序的字符串数组
*/
function sortString(opt){
if(!opt) return ;
var result = [] ,nresult = [] ,
tempNum = 0 ,tempTNum = 0 ,nk = 0;
for(var i=0;i<opt.length;i++){
var syt = opt[i],num = 0;
for(var j = 0;j<syt.length;j++){
var k = 0 , tempnum = 0,
str = syt.substr(j,j+1);

while(syt.indexOf(str,k)!=-1){
tempnum ++;
k = syt.indexOf(str,k) +1;
}

if(tempnum > num ){
num = tempnum
}
}
result[result.length] = num;
}
for(var n=0;n<result.length;n++){
tempTNum = result[n];
for(var m = 0;m<result.length;m++){
if(tempTNum < result[m]){
tempTNum = result[m];
nk = m;
}
}
nresult[nresult.length] = opt[nk];
result[nk] = -1;

}
return nresult;
}
原创粉丝点击