javascript - 检查是元音还是辅音
问题描述
我只想在纯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上找到了已解决的任务。但我不明白为什么?参数 >= 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');
您还可以return
在找到元音时立即记录和:
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');
推荐阅读
- corda - Corda: Unable to upload attachment to Corda node
- python - 将 tf.layers 重写为 raw tf 后 CNN 的性能不佳
- qt5 - layout->addWidget() 导致 showFullScreen() 出现问题
- java - 我的应用程序显示错误的名称
- android - 使用 OkHttp 时是否可以限制带宽?
- joomla - 重定向权限错误Joomla 3
- arrays - 在 Golang 中作为参数的函数数组
- javascript - 对数组的对象进行分组和计数并创建新数组
- c++ - 带有空集的“越界迭代器”
- php - Codeigniter 中的多插入