将字符串转换为ASCII值

问题描述:

我试图在S1和S2(字符串)中添加每个元素的ASCII值,并且如果它们彼此相等,则返回true。我只能似乎得到每个字符串用下面的代码的第一个元素的ASCII值:将字符串转换为ASCII值

function compare(s1, s2) { 
    var splitS1 = s1.toUpperCase().split(""); 
    var splitS2 = s2.toUpperCase().split(""); 
    for (var i = 0; i < splitS1.length; i++) { 
    for (var j = 0; j < splitS2.length; j++) { 
     var sum1 = 0; 
     var sum2 = 0; 
     sum1 += splitS1[i].charCodeAt(0); 
     sum2 += splitS2[j].charCodeAt(0); 
     return sum1 === s2; 
    } 
    } 
} 

return语句是第一循环结束时的功能。相反,只有在失败时才应该返回。

function compare(s1, s2) { 
    var splitS1 = s1.toUpperCase().split(""); 
    var splitS2 = s2.toUpperCase().split(""); 
    for (var i = 0; i < splitS1.length; i++) { 
    for (var j = 0; j < splitS2.length; j++) { 
     if (splitS1[1].charCodeAt(0) === splitS2[j].charCodeAt(0)) { 
     return false; 
     } 
    } 
    } 
    return true; 
} 

的问题是在这行代码:

return sum1 === s2; 

你应该比较它sum2

return sum1 === sum2; 

工作例如:https://repl.it/FrI2

编辑:

由于s2是字符串本身,而sum2是ASCII和。