如何在JavaScript中比较2个字母,以检查它们是否为字母中的后续字母。基本上,两个字母必须在字母表中彼此相邻。
例如,比较:a
到b
将是true
a
到c
将是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 statement
中做什么,我只是尝试比较项目以检查索引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 - JavaScript:检查2个字母是否为字母中的后续字母,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/56302067/