Mil*_*vić 2 html javascript regex arrays
我输入了用户键入字符串的位置,我需要在该字符串中找到最长的元音链并将其呈现出来。我自己尝试过,但我不知道该怎么做。这是我的代码:
vowelHandler = () => {
let input = document.getElementById('input2');
const hasVowel = /[aeiouAEIOU]/g;
let letters = [];
let vowels = '';
let count = 0;
let res = 0;
letters = input.value.match(/[aeiouAEIOU]/g);
if(hasVowel.test(letters)) {
for(let i = 0; i <= letters.length; i++) {
if(hasVowel.test(letters[i])) {
count++;
res = Math.max(res, count);
}else {
res = Math.max(res, count);
count = 0;
}
}
letters = letters.join(' ');
vowels = letters.substring(letters[res]);
document.getElementById('num2').innerHTML= vowels;
}else {
document.getElementById('num2').innerHTML= 'String does not contain vowels.';
}
}Run Code Online (Sandbox Code Playgroud)
<input type='text' id='input2'/>
<button onClick={this.vowelHandler}>CLICK</button>
<p id='num2'></p>Run Code Online (Sandbox Code Playgroud)
您可以用空格替换字符串中不是元音的所有内容,用空格分割字符串,然后检查这些子字符串中哪个最长。
function getLongestVowelSubstring(s) {
const separateVowels = s.replace(/[^aeiou]/ig, ' ').split(' ');
const longest = separateVowels.reduce((longest, vowelGroup) => {
return vowelGroup.length > longest.length ? vowelGroup : longest;
}, '');
return longest;
}
console.log(getLongestVowelSubstring('get the looongest vowel substring'));Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
415 次 |
| 最近记录: |