gpt4 book ai didi

javascript - 如何返回字符串中的小写和大写元音?

转载 作者:行者123 更新时间:2023-11-30 11:09:52 25 4
gpt4 key购买 nike

我正在尝试编写一个接受字符串 str 并返回仅由 str 中的元音组成的新字符串的函数。

在编写此函数时,我将通过所有测试,但字符串包含大写元音时除外,因为一个测试用例要求我通过大写元音和小写元音。

vowelsOnly("大声说出来");//"OUiou"

我错过了什么吗?

    const vowelsOnly = function (str) {
let vowels = ['a','e','i','o','u']
let newStr = ''
for (let i of str.toLowerCase()) {
if(vowels.includes(i)) {
newStr += i
}
}
return newStr
}

vowelsOnly("hello world"); // "eoo"
vowelsOnly("happy birthday to you"); // "aiaoou"
vowelsOnly("SHOUT it out"); // "OUiou"
vowelsOnly("aieeeeeeeeou"); // "aieeeeeeeeou"
vowelsOnly("nvwlsnlycnsnnts"); // ""

最佳答案

您只需要更新您的逻辑,以便在迭代内而不是之前调用 toLowerCase():

for (let i of str) { // Remove toLowerCase() from this line

if(vowels.includes(i.toLowerCase())) { // Place toLowerCase() here

newStr += i // The character "i" retains original case
}
}

这意味着您不会改变返回的数据,这将保留结果中的大小写:

const vowelsOnly = function(str) {
let vowels = ['a', 'e', 'i', 'o', 'u']
let newStr = ''
for (let i of str) {
if (vowels.includes(i.toLowerCase())) {
newStr += i
}
}
return newStr
}

console.log(vowelsOnly("hello world")); // "eoo"
console.log(vowelsOnly("happy birthday to you")); // "aiaoou"
console.log(vowelsOnly("SHOUT it out")); // "OUiou"
console.log(vowelsOnly("aieeeeeeeeou")); // "aieeeeeeeeou"
console.log(vowelsOnly("nvwlsnlycnsnnts")); // ""

关于javascript - 如何返回字符串中的小写和大写元音?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54138890/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com