从字符串和计数中提取单个值

pull individual values from a string and count

本文关键字:提取 单个值 字符串      更新时间:2023-09-26

我想在输入字段中输入文本,单击提交并仅排序元音。 然后我想在输入字段下方显示元音的 #。

到目前为止,我已经设法将用户键入到字段中的内容打印为子字符串以分隔字母。 我希望有人能从这里帮助我一些方向/建议。

谢谢!

function myReverse() {
   var hello = document.getElementById("countVowels").value;
   var inputAnswer = hello.substring(-3);
   document.getElementById("numVowels").innerHTML = inputAnswer;
}
<form id="myVowels">
<input type="text" id="countVowels"  name="countVowels" />
</form>
<button onclick="myReverse()">Vowel counter</button>
<p id="numVowels"></p>

根据您定义元音的方式,您应该能够使用正则表达式轻松做到这一点。删除除元音以外的所有内容并检查字符串的长度。如果您想要唯一计数或每个元音的计数,也可以这样做。

function myReverse() {
  var input = document.getElementById("countVowels").value;
  var lower = input.toLowerCase();
  var vowels = lower.replace(/[^aeiou]/g, "");
  document.getElementById("numVowels").textContent = "Input has " + vowels.length + " vowels.";
  // Count appearances of each vowel
  var vowelCounts = {};
  for (var i = 0; i < vowels.length; ++i) {
    var current = vowels[i];
    vowelCounts[current] = (vowelCounts[current] || 0) + 1;
  }
  document.getElementById("vowelCounts").textContent = JSON.stringify(vowelCounts);
  // Show unique counts
  // If you have a modern browser, you can use Object.keys(vowelCounts), otherwise:
  var counter = 0;
  for (var f in vowelCounts) {
    if (vowelCounts.hasOwnProperty(f)) {
      ++counter;
    }
  }
  document.getElementById("uniqueVowels").textContent = "Input has " + counter + " unique vowels.";
}
<form id="myVowels">
  <input type="text" id="countVowels" name="countVowels" />
</form>
<button onclick="myReverse()">Vowel counter</button>
<p id="numVowels"></p>
<pre id="vowelCounts"></pre>
<p id="uniqueVowels"></p>

我认为这就是您要查找的(如果我正确理解了您的问题):

function myReverse() {
        var hello = document.getElementById("countVowels").value,
            vowels = ['a','e','i','o','u'],
            inputAnswer = [];
        for(var i = 0; i<vowels.length; i++) {
            if(hello.split(vowels[i]).length > 1) {
                inputAnswer.push(vowels[i]+': '+hello.split(vowels[i]).length);
            }
        }
        document.getElementById("numVowels").innerHTML = inputAnswer.join(', ');
    }

这是小提琴:

http://jsfiddle.net/y1usvehg/