gpt4 book ai didi

javascript - 为什么有些值可以通过 OR 运算符,而其他值则不能?

转载 作者:行者123 更新时间:2023-12-03 07:45:46 24 4
gpt4 key购买 nike

在我的代码中,我试图根据句子使用的字符来检查句子是莫尔斯语还是英语。如果是莫尔斯电码,则解码运行。如果是英语,则运行编码函数。由于某种原因,某些单词(例如“ friend ”和“鸡”)会显示为莫尔斯电码,但“开始”和“斑马”等单词却不会。为什么会出现这种情况?

var input, output, startType;   
var inputArray = [];

input = (prompt('Enter the word(s) or sentence(s) that you wish to convert.')).toLowerCase();

function checkInput(input) {
var i, il;
for (i = 0, il = input.length; i < il; i++) {
if (input.charAt(i) === ('a'||'b'||'c'||'d'||'e'||'f'||'g'||'h'||'i'||'j'||'k'||'l'||'m'||'n'||'o'||'p'||'q'||'r'||'s'||'t'||'u'||'v'||'w'||'x'||'y'||'z')) {
startType = 'normal';
break;
}
else {
startType = 'morse';
console.log(i);
}
}
}
checkInput(input);

function Encode(input) {
var i, il;

for (i = 0, il = input.length; i < il; i++) {

if (input.charAt(i) === 'a') {
inputArray.push('.-');
if (input.charAt(i + 1) != ' ') {
inputArray.push('/');
}
}

else if(input.charAt(i) === 'b') {
inputArray.push('-...');
if (input.charAt(i + 1) != ' ') {
inputArray.push('/');
}
}

else if(input.charAt(i) === 'c') {
inputArray.push('-.-.');
if (input.charAt(i + 1) != ' ') {
inputArray.push('/');
}
}

else if(input.charAt(i) === 'd') {
inputArray.push('-..');
if (input.charAt(i + 1) != ' ') {
inputArray.push('/');
}
}

else if(input.charAt(i) === 'e') {
inputArray.push('.');
if (input.charAt(i + 1) != ' ') {
inputArray.push('/');
}
}

else if(input.charAt(i) === 'f') {
inputArray.push('..-.');
if (input.charAt(i + 1) != ' ') {
inputArray.push('/');
}
}

else if(input.charAt(i) === 'g') {
inputArray.push('--.');
if (input.charAt(i + 1) != ' ') {
inputArray.push('/');
}
}

else if(input.charAt(i) === 'h') {
inputArray.push('....');
if (input.charAt(i + 1) != ' ') {
inputArray.push('/');
}
}

else if(input.charAt(i) === 'i') {
inputArray.push('..');
if (input.charAt(i + 1) != ' ') {
inputArray.push('/');
}
}

else if(input.charAt(i) === 'j') {
inputArray.push('.---');
if (input.charAt(i + 1) != ' ') {
inputArray.push('/');
}
}

else if(input.charAt(i) === 'k') {
inputArray.push('-.-');
if (input.charAt(i + 1) != ' ') {
inputArray.push('/');
}
}

else if(input.charAt(i) === 'l') {
inputArray.push('.-..');
if (input.charAt(i + 1) != ' ') {
inputArray.push('/');
}
}

else if(input.charAt(i) === 'm') {
inputArray.push('--');
if (input.charAt(i + 1) != ' ') {
inputArray.push('/');
}
}

else if(input.charAt(i) === 'n') {
inputArray.push('-.');
if (input.charAt(i + 1) != ' ') {
inputArray.push('/');
}
}

else if(input.charAt(i) === 'o') {
inputArray.push('---');
if (input.charAt(i + 1) != ' ') {
inputArray.push('/');
}
}

else if(input.charAt(i) === 'p') {
inputArray.push('.--.');
if (input.charAt(i + 1) != ' ') {
inputArray.push('/');
}
}

else if(input.charAt(i) === 'q') {
inputArray.push('--.-');
if (input.charAt(i + 1) != ' ') {
inputArray.push('/');
}
}

else if(input.charAt(i) === 'r') {
inputArray.push('.-.');
if (input.charAt(i + 1) != ' ') {
inputArray.push('/');
}
}

else if(input.charAt(i) === 's') {
inputArray.push('...');
if (input.charAt(i + 1) != ' ') {
inputArray.push('/');
}
}

else if(input.charAt(i) === 't') {
inputArray.push('-');
if (input.charAt(i + 1) != ' ') {
inputArray.push('/');
}
}

else if(input.charAt(i) === 'u') {
inputArray.push('..-');
if (input.charAt(i + 1) != ' ') {
inputArray.push('/');
}
}

else if(input.charAt(i) === 'v') {
inputArray.push('...-');
if (input.charAt(i + 1) != ' ') {
inputArray.push('/');
}
}

else if(input.charAt(i) === 'w') {
inputArray.push('.--');
if (input.charAt(i + 1) != ' ') {
inputArray.push('/');
}
}

else if(input.charAt(i) === 'x') {
inputArray.push('-..-');
if (input.charAt(i + 1) != ' ') {
inputArray.push('/');
}
}

else if(input.charAt(i) === 'y') {
inputArray.push('-.--');
if (input.charAt(i + 1) != ' ') {
inputArray.push('/');
}
}

else if(input.charAt(i) === 'z') {
inputArray.push('--..');
if (input.charAt(i + 1) != ' ') {
inputArray.push('/');
}
}

else if(input.charAt(i) === '0') {
inputArray.push('-----');
if (input.charAt(i + 1) != ' ') {
inputArray.push('/');
}
}

else if(input.charAt(i) === '1') {
inputArray.push('.----');
if (input.charAt(i + 1) != ' ') {
inputArray.push('/');
}
}

else if(input.charAt(i) === '2') {
inputArray.push('..---');
if (input.charAt(i + 1) != ' ') {
inputArray.push('/');
}
}

else if(input.charAt(i) === '3') {
inputArray.push('...--');
if (input.charAt(i + 1) != ' ') {
inputArray.push('/');
}
}

else if(input.charAt(i) === '4') {
inputArray.push('....-');
if (input.charAt(i + 1) != ' ') {
inputArray.push('/');
}
}

else if(input.charAt(i) === '5') {
inputArray.push('.....');
if (input.charAt(i + 1) != ' ') {
inputArray.push('/');
}
}

else if(input.charAt(i) === '6') {
inputArray.push('-....');
if (input.charAt(i + 1) != ' ') {
inputArray.push('/');
}
}

else if(input.charAt(i) === '7') {
inputArray.push('--...');
if (input.charAt(i + 1) != ' ') {
inputArray.push('/');
}
}

else if(input.charAt(i) === '8') {
inputArray.push('---..');
if (input.charAt(i + 1) != ' ') {
inputArray.push('/');
}
}

else if(input.charAt(i) === '9') {
inputArray.push('----.');
if (input.charAt(i + 1) != ' ') {
inputArray.push('/');
}
}

else if(input.charAt(i) === '.') {
inputArray.push('.-.-.-');
if (input.charAt(i + 1) != ' ') {
inputArray.push('/');
}
}

else if(input.charAt(i) === '?') {
inputArray.push('..--..');
if (input.charAt(i + 1) != ' ') {
inputArray.push('/');
}
}

else if(input.charAt(i) === '!') {
inputArray.push('-.-.--');
if (input.charAt(i + 1) != ' ') {
inputArray.push('/');
}
}

else if(input.charAt(i) === ('(')) {
inputArray.push('-.--.');
if (input.charAt(i + 1) != ' ') {
inputArray.push('/');
}
}

else if(input.charAt(i) === (')')) {
inputArray.push('-.--.-');
if (input.charAt(i + 1) != ' ') {
inputArray.push('/');
}
}

else if(input.charAt(i) === ':') {
inputArray.push('---...');
if (input.charAt(i + 1) != ' ') {
inputArray.push('/');
}
}

else if(input.charAt(i) === '=') {
inputArray.push('-...-');
if (input.charAt(i + 1) != ' ') {
inputArray.push('/');
}
}

else if(input.charAt(i) === '-') {
inputArray.push('-....-');
if (input.charAt(i + 1) != ' ') {
inputArray.push('/');
}
}

else if(input.charAt(i) === '"') {
inputArray.push('.-..-.');
if (input.charAt(i + 1) != ' ') {
inputArray.push('/');
}
}

else if(input.charAt(i) === ',') {
inputArray.push('--..--');
if (input.charAt(i + 1) != ' ') {
inputArray.push('/');
}
}

else if(input.charAt(i) === "'") {
inputArray.push('.----.');
if (input.charAt(i + 1) != ' ') {
inputArray.push('/');
}
}

else if(input.charAt(i) === '/') {
inputArray.push('-..-.');
if (input.charAt(i + 1) != ' ') {
inputArray.push('/');
}
}

else if(input.charAt(i) === '&') {
inputArray.push('.-...');
if (input.charAt(i + 1) != ' ') {
inputArray.push('/');
}
}

else if(input.charAt(i) === ';') {
inputArray.push('-.-.-');
if (input.charAt(i + 1) != ' ') {
inputArray.push('/');
}
}

else if(input.charAt(i) === '_') {
inputArray.push('..--.-');
if (input.charAt(i + 1) != ' ') {
inputArray.push('/');
}
}

else if(input.charAt(i) === '@') {
inputArray.push('.--.-.');
if (input.charAt(i + 1) != ' ') {
inputArray.push('/');
}
}

else if(input.charAt(i) === ' ') {
inputArray.push('//');
}

else {
inputArray.push(input.charAt(i));
}

}
}

switch(startType) {
case 'normal':
Encode(input);
output = inputArray.join('');
break;
case 'morse':
Decode(input);
output = inputArray.join('');
break;
default:
output = 'Unrecognized language!';
break;
}

console.log('Input was: ' + input);
console.log('Output is: ' + output);
console.log('Start type was: ' + startType);
<script src="https://getfirebug.com/firebug-lite-debug.js"></script>

最佳答案

因为 ('a'||'b'||'c'||'d'||'e'||'f'||'g'||'h'||'i '||'j'||'k'||'l'||'m'||'n'||'o'||'p'||'q'||'r'||'s '||'t'||'u'||'v'||'w'||'x'||'y'||'z') 将始终返回 a 因此,如果您的字符串中有 a ,那么它将被视为 正常 类型。

如果您只想检查输入是否只有字母表[a-z]字符,那么您可以使用

function checkInput(input) {
startType = /^[a-z]+$/.test(input) ? 'normal' : 'morse';
console.log(startType)
}

关于javascript - 为什么有些值可以通过 OR 运算符,而其他值则不能?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35215537/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com