反转大于5个字母的单词时出现问题



因此,我应该编写一个代码,该代码使用一个包含许多用空格分隔的单词的字符串,并反转包含5个以上字母的字符串的单词顺序。以下是我所做的:

function spinWords(string){
splitm = string.split(" ");
for (let i=0; i<splitm.length; i++) {
if (splitm[i].length >= 5) {
splitm[i].split("").reverse().join("");
}
}
}

但这根本不起作用,我们将非常感谢您的帮助,谢谢!!!

您可以使用这个漂亮的一行:

const spinWords = (str) => str.split(" ").map((word) => (word.length >= 5) ? word.split("").reverse().join("") : word).join(" ");
console.log(spinWords("The quick brown fox jumps over the lazy dog."));

  • 您只需要返回值
function spinWords(string){
var splitm = string.split(" ");
var str = "";
for (let i=0; i<splitm.length; i++) {
if (splitm[i].length >= 5) {
str += splitm[i].split("").reverse().join("");
}
}
return str;
}
console.log(spinWords("hello"))

您可以执行

const spinWords = str => 
str.split(' ')
.reduce((s,w)=>[...s, w.length >5?[...w].reverse().join(''):w],[])
.join(' ');
console.log( spinWords('hi world thisisavery long n not so short example abc olleh') )

试试这个:

function spinWords(string){
let splitm = string.split(" ");
for (let i=0; i<splitm.length; i++) {
if (splitm[i].length >= 5) {
splitm[i] = splitm[i].split("").reverse().join("");
}
}
console.log(splitm );
}
spinWords('hi world thisisavery long n not so short example abc olleh');

您没有正确标记数组,并且缺少数组值分配。

最新更新