轉換為十六進位制並在 JavaScript 中對數字部分求和


問題

我們要求編寫一個 JavaScript 函式,該函式接受一個字串。我們函式應該將字串的每個字元轉換為其 ASCII 碼的十六進位制值,然後結果應該是十六進位制字串中數字的和,忽略十六進位制中存在的字母。

示例

程式碼如下 −

 現場演示

const str = "Hello, World!";
const toHexAndSum = (str = '') => {
   return str
   .split('')
   .map(c=>c.charCodeAt())
   .map(n=>n.toString(16))
   .join('')
   .split('')
   .filter(c=>'123456789'.includes(c))
   .map(d=>parseInt(d))
   .reduce((a, b)=>a+b, 0)
};
console.log(toHexAndSum(str));

輸出

控制檯輸出如下 −

91

更新於: 2021-04-17

232 次瀏覽

開啟你的 職業生涯

透過完成該課程獲得認證

開始
廣告
© . All rights reserved.