JavaScript:检查两个字母是否是字母表中的后续字母

标签 javascript regex

如何在 JavaScript 中比较 2 个字母以检查它们是否是字母表中的后续字母。基本上,这两个字母在字母表中必须相邻。

例如,比较:

  • ab 将为 true
  • ac 将为 false

对于我的程序,我收到一个输入数组,例如 ["a","b","e"],我想循环遍历该数组并将每个项目与其前面的项目进行比较,下面是我的代码:

function fearNotLetter(str) {
  str = str.split("");
  console.log(str);
  for(let i=1; i<str.length; i++){
    console.log(str[i]>str[i-1]);
    if(str[i] > str[i-1]){
      console.log("good order");
    } else {
      console.log("missing");
    }
  }
  return str;
}

到目前为止,我不确定在内部 if 语句 中要做什么,我只是尝试比较这些项目以检查索引 i 处的项目是否大于位于索引i-1

最佳答案

提取两个字符的 charCode,然后检查它们是否相差 1,并且在字母顺序范围内:

const checkAlphaAdjacent = (c1, c2) => {
  const [code1, code2] = [c1.charCodeAt(), c2.charCodeAt()];
  return Math.abs(code1 - code2) === 1 && [c1, c2].every(char => /[a-z]/i.test(char));
};
console.log(checkAlphaAdjacent('a', 'b'));
console.log(checkAlphaAdjacent('a', 'c'));
console.log(checkAlphaAdjacent('A', 'C'));
console.log(checkAlphaAdjacent('B', 'C'));

关于JavaScript:检查两个字母是否是字母表中的后续字母,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56302067/

相关文章:

javascript - Jasmine .and.throwError() 未被原始代码中的 .catch 捕获

javascript - Javascript 中的 "!!"运算符是什么?

python - 根据方括号之间的单词拆分字符串

ruby-on-rails - 忽略部分正则表达式的大小写

正则表达式匹配 URL 中的单词

c# - C# 中的多行正则表达式

javascript - 如何使用 .val() 填充输入字段?

javascript - 更改其他组件 react 中 onClick 事件的状态

javascript - React 无法读取 null 的属性 'id'

特殊字符的正则表达式 "until but not including"(使用 R)