输入: ‘let‘s take leetcode contest‘ 输出: ‘s‘tel ekat edocteel tsetnoc‘
export default (str) => { // 字符串按空格进行分隔,保存数组,数组的元素的险乎顺序就是单词的顺序 let arr = str.split(‘ ‘) // 对数组进行遍历,然后每个元素进行反转 let result = arr.map(item => { return item.split(‘‘).reverse().join(‘‘) }) return result.join(‘ ‘) }
最后会经常忘记空格join。这是注意事项的意义,能否完整周全的实现题目
export default (str) => { // 字符串按空格进行分隔,保存数组,数组的元素的险乎顺序就是单词的顺序 // 对数组进行遍历,然后每个元素进行反转 return str.split(‘ ‘).map(item => { return item.split(‘‘).reverse().join(‘‘) }).join(‘ ‘) }
其实思路是一样的,只是代码的写法上不一样。优雅的地方是第一种多出了两个变量,第二种没有申明多余多变量
export default (str) => { // 字符串按空格进行分隔,保存数组,数组的元素的险乎顺序就是单词的顺序 // 对数组进行遍历,然后每个元素进行反转 return str.split(/\s/g).map(item => { return item.split(‘‘).reverse().join(‘‘) }).join(‘ ‘) }
export default (str) => { // 字符串按空格进行分隔,保存数组,数组的元素的险乎顺序就是单词的顺序 // 对数组进行遍历,然后每个元素进行反转 return str.match(/[\w‘]+/g).map(item => { return item.split(‘‘).reverse().join(‘‘) }).join(‘ ‘) }
原文:https://www.cnblogs.com/wzndkj/p/11903912.html