You need to enable JavaScript to run this app. 如何将句子拆分为单个字符传入摩尔斯电码生成函数
优惠活动
大模型
产品
解决方案
定价
更多

如何将句子拆分为单个字符传入摩尔斯电码生成函数

摩尔斯电码生成器字符串拆分与功能实现方案

1. 核心需求实现思路

你需要的字符串拆分操作在JavaScript中可以直接通过以下两种方式实现:

  • 调用split('')方法将字符串拆分为单个字符组成的数组
  • 直接用for...of循环遍历字符串的每一个字符
    注意:需要额外处理小写字母转大写、空格分隔单词的逻辑,同时你原有代码中的全局count变量会导致多次调用结果累加,建议做对应调整

2. 优化后可直接运行的完整代码

// 单个字符转摩尔斯电码的函数
function charToMorse(char) {
    switch(char.toUpperCase()) {
        case 'A': return '.- '
        case 'B': return '-... '
        case 'C': return '-.-. '
        case 'D': return '-.. '
        case 'E': return '. '
        case 'F': return '..-. '
        case 'G': return '--. '
        case 'H': return '.... '
        case 'I': return '.. '
        case 'J': return '.--- '
        case 'K': return '-.- '
        case 'L': return '.-.. '
        case 'M': return '-- '
        case 'N': return '-. '
        case 'O': return '--- '
        case 'P': return '.--. '
        case 'Q': return '--.- '
        case 'R': return '.-. '
        case 'S': return '... '
        case 'T': return '- '
        case 'U': return '..- '
        case 'V': return '...- '
        case 'W': return '.-- '
        case 'X': return '-..- '
        case 'Y': return '-.-- '
        case 'Z': return '--.. '
        case '1': return '.---- '
        case '2': return '..--- '
        case '3': return '...-- '
        case '4': return '....- '
        case '5': return '..... '
        case '6': return '-.... '
        case '7': return '--... '
        case '8': return '---.. '
        case '9': return '----. '
        case '0': return '----- '
        // 处理单词间的空格,用/分隔方便识别
        case ' ': return '/ '
        default: return ''
    }
}

// 整段文本转摩尔斯电码的函数
function textToMorse(text) {
    let morseResult = ''
    // 遍历输入文本的每一个字符,自动完成拆分处理
    for (let char of text) {
        morseResult += charToMorse(char)
    }
    return morseResult.trim()
}

// 测试用例
console.log(textToMorse("HELLO WORLD"))
// 输出结果:.... . .-.. .-.. --- / .-- --- .-. .-.. -..

3. 功能说明

  • 输入的文本会自动遍历每一个字符,不需要手动拆分
  • 自动兼容小写字母输入,不需要提前转换大小写
  • 自动识别单词之间的空格,用/标记单词间隔
  • 没有全局变量污染,多次调用不会出现结果累加的问题

内容的提问来源于stack exchange,提问作者Shamman Rahin

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.19 15:15:06