Javascript 将字符串中的字符转换为数值,找到总和,然后记录总和和字符串

Javascript 将字符串中的字符转换为数值,找到总和,然后记录总和和字符串,javascript,arrays,Javascript,Arrays,我想获取一个包含名称的字符串,并将每个字符转换为一个数值。然后求所有字符的和的数值。目前,它仅使用.charAt()对字符串中第一个字符的值求和 我知道我需要做以下工作。 1.创建一个函数,用于遍历字符串中的每个字符 2.创建if-else语句以查找字符串中每个字符的数值,并将总和发送到nameSum。 3.console.log名称及其数值。 4.稍后我将处理大小写。 5.最后,我想从一个数组中提取,该数组包含有名称字符串的var var name1 = 'bill'; const f

我想获取一个包含名称的字符串,并将每个字符转换为一个数值。然后求所有字符的和的数值。目前,它仅使用.charAt()对字符串中第一个字符的值求和 我知道我需要做以下工作。
1.创建一个函数,用于遍历字符串中的每个字符 2.创建if-else语句以查找字符串中每个字符的数值,并将总和发送到nameSum。 3.console.log名称及其数值。 4.稍后我将处理大小写。 5.最后,我想从一个数组中提取,该数组包含有名称字符串的var

   var name1 = 'bill';

const findNameVal = (name) => {
  let nameSum = 0;
  let cardCheck = name;
    for (let i=0; i < cardCheck.length; i++) {
        if (name1.charAt(i) === 'a') {
            return nameSum =+ 1; 
    } else if (name1.charAt(i)=== 'b') {
        return nameSum =+ 2;
    } else if (name1.charAt(i)=== 'i') {
        return nameSum =+ 9;
    } else if (name1.charAt(i)=== 'l') {
        return nameSum =+ 12;
    } 
}
}
console.log(`The name is: ${name1} and the numerical value is ${findNameVal(name1)}`);
var name1='bill';
常量findNameVal=(名称)=>{
设nameSum=0;
让cardCheck=name;
for(设i=0;i
将字符串转换为小写字符数组,然后使用
reduce
迭代这些字符并找到它们的字符代码。例如
'a'.charCodeAt()
97
,而
'b'.charCodeAt()
98
,因此您可以从找到的每个代码中减去96:

var name1='bill';
常量findNameVal=(名称)=>{
const lowercaseArr=[…name.toLowerCase()];
返回小写arr.reduce((a,char)=>a+char.charCodeAt()-96,0);
}

log(`名称为:${name1},数值为${findNameVal(name1)}`)
返回nameSum=+
?您不想提前返回,所以在
for
循环之后返回
nameSum
。求和是用
+=
完成的,而不是
=+
。现在使用return out for循环。为什么我的问题被否决了?我找不到任何类似的js。