题目可能有点没表述清楚,即假设有一个一维数组{"abcdeafab","abcdabcd","adadad"},则各个字符串中各字母出现的重复次数分别是(按降序排列),2,2,2,2;3,2,1,1,1,1;3,3。则该数组重新排列后输出为{"adadad","abcdeafab","abcdabcd"};
求满足要求的js函数
编写一个js函数求一个字符串数组按字符串中各字母出现次数多少的重新排序
- 写回答
- 好问题 0 提建议
- 关注问题
- 邀请回答
-
1条回答 默认 最新
jinnianshilongnian 2012-09-24 21:11关注[code="java"]<br> var array = ["abcdeafab","abcdabcd","adadad"];</p> <pre><code>var statArray = new Array(); for(var index in array) { var stat = {}; var value = array[index]; for(var i=0;i<value.length;i++) { var str = value.slice(i,i+1); if(!stat[str]) { stat[str] = 1; } else { stat[str]++; } } statArray.push(stat); } var resultArray = new Array(); for(var index in statArray) { var tmp = new Array(); var stat = statArray[index]; for(var key in stat) { tmp.push(stat[key]); } tmp.sort().reverse(); resultArray.push(tmp); } resultArray.sort().reverse(); console.info(resultArray); </code></pre> <p>
[/code]
不考虑性能本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报