我将如何编写一个函数,该函数接受一个作为句子的自变量,并返回一个新句子,其中所有单词都被反转,但顺序与原始句子相同?
测试用例:
wordsReverser(“希望很有趣。”);
将返回:
“sihT si nuf,yllufepoh。”
这是我到目前为止的内容,但是请注意,我无法获得句号和逗号以保持原位。我不知道这是面试官的错字还是什么?
function wordsReverser(str){
return str.split(' ').
map(function(item) {
return item.split('').reverse().join('');
}).join(' ');
}
wordsReverser("This is fun, hopefully.");
//Output: 'sihT si ,nuf .yllufepoh'
最佳答案
尝试这种方式:
function wordsReverser(str){
return str.replace(/[a-zA-Z]+/gm, function(item) {
return item.split('').reverse().join('');
});
}
wordsReverser("This is fun, hopefully.");
//Output: 'sihT si nuf, yllufepoh.'