嗨,大家好我想創建一個函數,它接受一個字符串並返回一個對象,該對象具有字符串中字母頻率的映射。另外,我希望我的函數以降序的方式返回按頻率排序的對象。所以我期待的是letterfreq("ssabbb")
=>{b:3,s:2,a:1}
。我寫了返回頻率的映射函數,這個函數是在str中創建字母頻率的映射在Javascript中
function letterfreq(str) {
var mapping = {};
var NoSpaceStr = str.replace(/[\s]/g,"");
for(var i = 0; i < NoSpaceStr.length; i++){
if(!mapping[NoSpaceStr[i]])
{mapping[NoSpaceStr[i]] = 0;}
mapping[NoSpaceStr[i]] += 1;}
return mapping
}
的問題是我有點難倒有關排序的基礎上的屬性值。我檢查了this,第一個答案有高回報的答案。他讓對象成爲數組的數組,然後繼續說:「一旦擁有數組,就可以按照您喜歡的順序從數組中重建對象,從而實現您準備完成的任務。」我不確定如何做到這一點。我想知道是否有人有一個初學者可以理解的解決方案。我發佈的鏈接中的問題的答案是有點壓倒性的。任何建議或幫助將是偉大的。謝謝!順便說一下,這是CoderByte問題的一部分。
對象是內部hashmaps,他們不能訂購。 – thefourtheye 2014-10-20 02:56:25