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

如何将pigIt函数生成的pig数组元素拼接为完整句子?

解决Pig Latin函数的拼接返回问题

你的代码存在几个关键问题,导致无法正确返回测试用例要求的结果:

  1. 切片范围错误:latinTwo里的x.slice(1, str.length-1)误用了整个输入字符串str的长度,应该针对每个单词x取从索引1到末尾的部分,即x.slice(1)。
  2. 未收集处理结果:当前代码仅循环打印单个转换后的单词,没有将它们存入数组,自然无法通过join拼接成完整句子。
  3. 函数无返回值:测试用例要求函数返回拼接后的字符串,但你的代码没有return语句。

修正后的代码

function pigIt(str){
  // 分割字符串为单词数组,逐个处理后拼接返回
  return str.split(' ').map(word => {
    // 将单词首字母移到末尾并追加'ay'
    return word.slice(1) + word.slice(0, 1) + 'ay';
  }).join(' ');
}

代码说明

  • split(' '):将输入字符串拆分为单个单词的数组。
  • map遍历:对每个单词执行Pig Latin转换——截取除首字母外的部分,拼接首字母和ay。
  • join(' '):将转换后的单词数组用空格拼接成完整句子,作为函数返回值,完全匹配测试用例要求。

可选扩展:处理标点符号

如果输入包含非单词字符(如标点),可以添加判断逻辑跳过转换:

function pigIt(str){
  return str.split(' ').map(word => {
    // 仅对纯字母组成的单词执行转换
    if (/^[A-Za-z]+$/.test(word)) {
      return word.slice(1) + word.slice(0, 1) + 'ay';
    }
    // 非字母内容直接返回
    return word;
  }).join(' ');
}

内容的提问来源于stack exchange,提问作者Kevin Phan

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.31 16:10:26