问题描述
给定一个字符串,你需要反转字符串中每个单词的字符顺序,同时仍保留空格和单词的初始顺序。
示例
输入: "Let's take LeetCode contest"
输出: "s'teL ekat edoCteeL tsetnoc"
JavaScript代码
/**
* @description 将字符串以空格分隔,每个单词都反转,返回反转后的字符串
* @param {string} str 输入一个字符串
* @return {string} str 输出一个反转后的字符串
*
*/
export default (str) => {
// 方法一:将字符串分割成数组,对每个数组元素进行反转
return str.split(' ').map(item => {
return item.split('').reverse().join('')
}).join(' ')
// 方式二:先将所有的字母反转,再将单词反转一次
return str.split('').reverse().join('').split(" ").reverse().join(" ");
// 方式三:正则的方式
return str.split(/\s/g).map(item => {
return item.split('').reverse().join('')
}).join(' ')
}
涉及的知识点
- String.prototype.split
- String.prototype.match
- Array.prototype.map
- Array.prototype.reverse
- Array.prototype.join
网友评论