将字符串转换为ASCII值

时间:2017-02-21 05:49:12

标签: javascript ascii

我正在尝试在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;
    }
  }
}

2 个答案:

答案 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总和。