我只是想用纯js来发展我的思维逻辑。问题是,当我使用 node.js 的帮助在控制台中运行脚本时,它会显示每次迭代的情况。元音和辅音。但我只需要在控制台中写入一次。也许,我应该将结果保存在整个元音列表之后的单独变量中?但我不知道该怎么做,下面是代码:
// problem who i can't do
function letter(arg) {
var vowel = "aeouiAEOUI";
var result = "";
for(var i = 0; i < vowel.length; i++) {
if(arg === vowel[i]) {
console.log("vowel");
} else {
console.log("consonant");
}
}
}
我在 Stack Overflow 上找到了已解决的任务。但我不明白为什么? arg >= 0 ?
function letter_indexof(arg) {
var vowels = ["a","e","i","o","u"];
if(vowels.indexOf(arg.toLowerCase()) >= 0) {
console.log("vowel");
} else {
console.log("consonant");
}
}
我将感谢所有人的帮助。
最佳答案
要调整当前的代码,您可以使用一个变量来指示该字符是否为辅音,并以 true
开头,如果找到元音,则将其重新分配为 false
,然后检查该变量:
function letter(arg) {
var vowel = "aeouiAEOUI";
var result = "";
let isConsonant = true;
for (var i = 0; i < vowel.length; i++) {
if (arg === vowel[i]) {
isConsonant = false;
}
}
if (isConsonant) {
console.log("consonant");
} else {
console.log("vowel");
}
}
letter('a');
letter('f');
您还可以在找到元音时立即记录并返回
:
function letter(arg) {
var vowel = "aeouiAEOUI";
var result = "";
for (var i = 0; i < vowel.length; i++) {
if (arg === vowel[i]) {
console.log("vowel");
return;
}
}
console.log("consonant");
}
letter('a');
letter('f');
不过,使用正则表达式会更容易:
const letter = arg => console.log(
/[aeiou]/i.test(arg) ? 'vowel' : 'consonant'
);
letter('a');
letter('f');
关于javascript - 检查是元音还是辅音,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55967359/