基础js实现句子反转
实现句子反转的方法
方法一:使用 split、reverse 和 join
将句子按空格分割成单词数组,反转数组后再拼接成字符串。
function reverseSentence(sentence) {
return sentence.split(' ').reverse().join(' ');
}
方法二:使用循环逐个反转单词
遍历句子中的每个单词,将它们按逆序存入新数组。
function reverseSentence(sentence) {
const words = sentence.split(' ');
const reversed = [];
for (let i = words.length - 1; i >= 0; i--) {
reversed.push(words[i]);
}
return reversed.join(' ');
}
方法三:使用 reduce 方法
通过 reduce 方法将单词从后向前累积到新字符串中。
function reverseSentence(sentence) {
return sentence.split(' ').reduce((acc, word) => {
return word + ' ' + acc;
}, '').trim();
}
方法四:处理标点符号(进阶版)
若需保留标点符号位置,可在反转前分离标点,反转后再重新附加。
function reverseSentenceWithPunctuation(sentence) {
const wordsWithPunct = sentence.match(/\w+|\s+|[^\s\w]+/g);
return wordsWithPunct.reverse().join('');
}
注意事项
- 方法一最简单,但无法处理复杂标点。
- 方法四适用于需保留标点符号的场景,但正则表达式需根据具体需求调整。
- 所有方法默认以空格为分隔符,若需其他分隔符(如中文无空格),需调整 split 逻辑。




