You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

求助:修改JavaScript函数实现字符串元音字符连续输出

解决JavaScript提取元音并连续输出的问题

原代码的问题分析

你的原函数每次匹配到元音就调用console.log,导致每个元音单独换行;同时else分支输出空字符串,会产生大量无效空行。要实现连续输出所有元音,需要先收集所有符合条件的字符,最后统一打印。

修改后的原函数版本

function vowelsOnly(str) {
    const vowels = ['a','e','i','o','u'];
    let result = '';
    for (let i = 0; i < str.length; i++) {
        // 用includes替代indexOf,可读性更好
        if (vowels.includes(str[i])) {
            result += str[i];
        }
    }
    // 最后一次性输出所有收集到的元音
    console.log(result);
}

// 测试输入
vowelsOnly("welcome to my world"); // 输出:eoeoo

优化你的补充代码

你提供的补充代码已经可以正常运行,但可以简化逻辑——不需要判断长度,直接返回结果即可,因为当没有元音时,join('')会自然返回空字符串:

const getVowels = str => str.split('').filter(char => "aeiou".includes(char)).join('');

// 测试用例
console.log(getVowels("welcome to my world")); // eoeoo
console.log(getVowels("qqwwrrttppssddaeu")); // aeu
console.log(getVowels("xyz")); // 输出空字符串

内容的提问来源于stack exchange,提问作者Jon Beckner

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.15 19:30:53