我正在尝试在S1和S2(字符串)中添加每个元素的ASCII值,如果它们彼此相等则返回true。我似乎只能使用下面的代码获取每个字符串中第一个元素的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;
}
}
}
答案 0 :(得分:0)
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;
}
答案 1 :(得分:0)
问题在于这行代码:
return sum1 === s2;
您应该将其与sum2
return sum1 === sum2;
工作示例:https://repl.it/FrI2
编辑:
由于s2
是字符串本身,而sum2
是ASCII总和。