转换为十六进制并在 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 次浏览

开启你的 职业生涯

通过完成该课程获得认证

开始
广告