javascript - For 循环 if 语句在第一种情况下停止
问题描述
挑战:编写一个函数,接收一个或多个单词的字符串,并返回相同的字符串,但所有五个或更多字母单词都颠倒了(就像这个 Kata 的名字一样)。传入的字符串将仅包含字母和空格。仅当存在多个单词时才会包含空格。
示例:
spinWords( "Hey fellow warriors" )
=> 返回"Hey wollef sroirraw"
目前我有这个
function spinWords(str) {
var splitArray = str.split(' ')
for (var i = 0; i < splitArray.length; i++) {
if (splitArray[i].length > 5) {
var long = splitArray[i].split('').reverse('').join('')
return long
i++
} else {
var short = splitArray[i]
return short
i++
}
}
}
正如我在标题中所说,这工作正常,但只会将数组中的第一个元素返回为反转或不反转。谁能比我聪明,请解释为什么循环不循环?感谢您的时间。
解决方案
Return 结束函数。另一种方法。
const spinWords = words =>
words
.split(" ")
.map(word => (word.length >= 5 ? [...word].reverse().join("") : word))
.join(" ");
console.log(spinWords("Hey fellow warriors"));
推荐阅读
- spring - 如何从 github 获取特定版本的 spring 的来源?
- java - 环境变量在 JAVA_TOOL_OPTIONS 中没有得到扩展
- javascript - 我正在努力传递一个 url 变量以用作动态生成的嵌入的变量
- oracle - Liquibase 使用 Oracle 注释表示法返回 ORA-00907 和 SQL(双破折号)
- python - 将 pandas df 与堆叠级别值归一化
- apache-flink - 在 Apache Flink 中使用 State 有限制吗?
- kdb - 如何将字符串连接到字符串列表
- javascript - Graphql - 尝试为字段创建对对象的引用时出错
- python - 性能:Python 列表与 Numpy ndarrays
- oracle - 在 oracle 12c 中将查询的输出转换为 json