使用for循环/if else输出数组中辅音数多于元音的单词
实现代码及说明
直接用你准备的元音、辅音数组完全可行,以下是仅用for循环和if else语句实现的代码:
// 给定的目标数组 var arr = ['french','normal','chinese','japanese','indian','italian','greek','spanish','mediterranean','lebanese','moroccan','turkish','thai']; // 元音数组(包含y) var vov = ["a", "e", "i", "o", "u", "y"]; // 辅音数组 var cons = ["b", "c", "d", "f", "g", "h", "j", "k", "l", "m", "n", "p", "q", "r", "s", "t", "v", "w", "x", "z"]; // 遍历数组中的每个单词 for (var i = 0; i < arr.length; i++) { var word = arr[i]; var vowelCount = 0; var consonantCount = 0; // 遍历当前单词的每个字符 for (var j = 0; j < word.length; j++) { var char = word[j]; var isVowel = false; // 检查当前字符是否是元音 for (var k = 0; k < vov.length; k++) { if (char === vov[k]) { isVowel = true; break; } } if (isVowel) { vowelCount++; } else { // 检查当前字符是否是辅音 for (var l = 0; l < cons.length; l++) { if (char === cons[l]) { consonantCount++; break; } } } } // 比较辅音和元音数量,符合条件则输出 if (consonantCount > vowelCount) { console.log(word); } }
代码逻辑说明
- 外层
for循环逐个取出数组里的单词; - 对每个单词初始化元音、辅音的计数器,从0开始;
- 内层第一个
for循环遍历单词的每个字符,先通过循环比对元音数组,判断是否为元音,是则增加元音计数; - 如果不是元音,再通过循环比对辅音数组,判断是否为辅音,是则增加辅音计数;
- 每个单词的字符遍历完成后,用
if判断辅音计数是否大于元音计数,满足条件就打印该单词。
内容的提问来源于stack exchange,提问作者David NoHorizon
相关产品推荐
相关产品推荐

