javascript 元音或辅音功能

eoxn13cs  于 2023-04-04  发布在  Java
关注(0)|答案(7)|浏览(154)

我正在做一个JavaScript函数,告诉用户他们输入的字母是元音还是辅音。我试图做一个函数,但没有成功。请有人显示发生了什么事,以及如何修复它。
多谢
詹姆斯

function letter() {

    var
    let = prompt("Your Letter");

    if (let == 'a' ||
      let == 'e' ||
      let == 'i' ||
      let == 'o' ||
      let == 'u') {

      alert("Your letter is a vowel");

    } else {

      alert("Your letter is a consonant");
    }
<!DOCTYPE html>
<html>

<head>

  <script>
    function letter() {

        var
        let = prompt("Your Letter");

        if (let == 'a' ||
          let == 'e' ||
          let == 'i' ||
          let == 'o' ||
          let == 'u') {

          alert("Your letter is a vowel");

        } else {

          alert("Your letter is a consonant");
        }​
  </script>

</head>
<h3>Vowel or Consonant</h3>	
<input id="prompt" type="text" />
<p id="answer"></p>
<button onclick="letter()">Check letter</button>

</body>

</html>
lrpiutwd

lrpiutwd1#

打开开发工具,看看控制台告诉你什么。
我看到三个错误:

  • 在函数的末尾缺少一个结束括号}
  • 你使用了保留字let作为变量名。假设你使用了letter。JS引擎可能会从你的let中找到出路,但无论如何这都是不好的做法。此外,由于你将let重命名为letter,你可能想将你的函数重命名为实际意义上的东西,比如displayPromptLetterType
  • 从按钮附近的字段检索用户输入的方法是var letter = document.getElementById("prompt").value;

此外,与其使用一个很长的if条件,您可能希望它更多地使用数据驱动:

var vowels = ["a","e","i","o","u"];
    if (vowels.indexOf(letter.toLowerCase()) >= 0) {
       ...
dauxcl2d

dauxcl2d2#

一个更简单的迭代字符串的方法是:

const myText = 'my word';

for (const myVariable of myText) {
  console.log(myVariable);
}

=> m
=> y 
=> 
=> w
=> o
=> r
=> d

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/for...of

d4so4syb

d4so4syb3#

您刚刚错过了在函数末尾添加'}'。您正在关闭IF,但没有关闭函数

s3fp2yjn

s3fp2yjn4#

<!DOCTYPE html>
<html>

<head>

  <script>
    function letter() {

        var leta = prompt("Your Letter");

        if (leta == 'a' ||
          leta == 'e' ||
          leta == 'i' ||
          leta == 'o' ||
          leta == 'u') {

          alert("Your letter is a vowel");

        } else {

          alert("Your letter is a consonant");
        }
    }
  </script>

</head>
<h3>Vowel or Consonant</h3> 
<input id="prompt" type="text" />
<p id="answer"></p>
<button onclick="letter()">Check letter</button>

</body>

</html>
kpbwa7wx

kpbwa7wx5#

下面是一个基于你的代码和@Mathias Dolidon建议的例子。通过这个例子,你可以确定输入是否是元音,但在说任何非元音是辅音之前,你必须检查它是否是一个字母。

(function() {
  var vowels = [
    "a", "á", "à", "ä", "â",
    "e", "é", "è", "ë", "ê",
    "i", "í", "ì", "ï", "î",
    "o", "ó", "ò", "ö", "ô",
    "u", "ú", "ù", "ü", "û"
  ];

  function isVowel(letter) {
    return vowels.indexOf(letter.toLowerCase()) >= 0;
  }

  function getLetterType() {
    var input = $("#prompt").val();
    var $answer = $("#answer");
    if (input.length > 0) {
      $answer.text(isVowel(input) ? "Your input is a vowel" : "Your input is not a vowel");
    } else {
      $answer.text("Insert one character.");
    }
  }

  $(document).ready(function() {
    $("#check-letter").on("click", getLetterType);
  });

}());
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<h3>Vowel or Consonant</h3>	
<input id="prompt" type="text" size="1" maxlength="1" />
<p id="answer"></p>
<button id="check-letter">Check letter</button>
xienkqul

xienkqul6#

function vowelsAndConsonants(s) {

    for(var i=0;i<s.length;i++){
      if(s[i]==='a'||s[i]==='e'||s[i]==='i'||s[i]==='o'||s[i]==='u'){
    console.log(s[i]);
    }
    }
    for(var i=0;i<s.length;i++){
      if(s[i]!=='a'&&s[i]!=='e'&&s[i]!=='i'&&s[i]!=='o'&&s[i]!=='u'){
    console.log(s[i]);
    } 
}
}
s2j5cfk0

s2j5cfk07#

这是我想到的一个简单的方法。

function vowelsAndConsonants(s) {
for(var vowel in s){
    var array = s.split('');
}

for(var char of array){
    const vowels = ['a', 'e', 'i', 'o', 'u'];
    if(vowels.includes(char))
        console.log(char);
}

for(var char of array){
    const vowels = ['a', 'e', 'i', 'o', 'u'];
    if(vowels.includes(char) == 0)
        console.log(char);
}

}
如果有帮助,就投票吧!

相关问题