小编Bra*_*ray的帖子

为什么for循环不起作用?

我正在研究一个问题,请问我:

将每个单词的第一个字母移动到它的末尾,然后在单词的末尾添加"ay".

pigIt('Pig latin is cool'); //igPay atinlay siay oolcay
Run Code Online (Sandbox Code Playgroud)

这是我现在的代码,它只返回第一个单词,虽然它使用了for循环.这可能是一个愚蠢的错误,但我只是有点卡在这里,非常感谢你帮助检查代码.(可能只是我一直在看它太久了,一双新眼睛肯定会抓到这个bug )

function pigIt(str) {

str = str.split(" ")
 for(var i = 0;i<str.length;i++)
 return str[i].slice(1)+str[i][0]+"ay"
}

console.log(pigIt('Pig latin is cool'))
Run Code Online (Sandbox Code Playgroud)

而且我认为我的解决方案可以使用嵌套的地图功能简化,但我的尝试并不成功; 你们中的任何人都能想出更好的解决方案吗?

多谢你们.

更新:

所以这是我正在寻找的工作地图代码,比我原来的解决方案要好得多:

 function pigIt(str){
 return str.split(' ').map(function(el){
  return el.slice(1) + el.slice(0,1) + 'ay';
  }).join(' ');
 }
Run Code Online (Sandbox Code Playgroud)

只是如果其他人偶然发现了这个问题,并希望使用简化的代码来解决问题.

javascript string

1
推荐指数
1
解决办法
111
查看次数

标签 统计

javascript ×1

string ×1