编写一个js函数求一个字符串数组按字符串中各字母出现次数多少的重新排序

题目可能有点没表述清楚,即假设有一个一维数组{"abcdeafab","abcdabcd","adadad"},则各个字符串中各字母出现的重复次数分别是(按降序排列),2,2,2,2;3,2,1,1,1,1;3,3。则该数组重新排列后输出为{"adadad","abcdeafab","abcdabcd"};
求满足要求的js函数

[code="java"]<br> var array = [&quot;abcdeafab&quot;,&quot;abcdabcd&quot;,&quot;adadad&quot;];</p> <pre><code>var statArray = new Array(); for(var index in array) { var stat = {}; var value = array[index]; for(var i=0;i&lt;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]
不考虑性能