[英]Sort an array alphabetically and return a number representation for every character
我想嘗試制作自己的 function。我想按升序對字符數組進行排序,並將每個字符的出現次數返回為緊湊型數字。
例子:
function numberRepresentation(arr) {
// arr is an array
// return a number
/*
ex. arr=[b,a,a,a,c,b,a]
after sorting array will look like arr=[a,a,a,a,b,b,c]
occurrence of characters -> a = 4, b = 2, c = 1
so output will be 421
*/
}
我該怎么做?
function numberRepresentation(arr) {
return arr.reduce((counts, letter) => {
const code = letter.charCodeAt(0)
counts[code] = counts[code] + 1 || 1
return counts
}, []).join('')
}
解釋:
我們只是計算每個字母出現的次數,但我們使用一個簡單的數組和字符代碼作為索引。 因此,我們會自動獲得按字母順序排列的字母計數列表(因為字符代碼 go 按 abc 順序排列)。 所以我們需要做的就是連接所有計數並返回。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.