转换为十六进制并对 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