本文正在参与掘金团队号上线活动,点击 查看大厂春招职位
一、题目描述:
请实现函数 reverseWord,对字符串中的单词进行反转,并满足以下条件:
- 单词间以空格进行分割,若有多个空格只保留一个;
- 去除字符串所有首尾空格;
function reverseWord (string) {
// 你的代码实现
}
console.log(reverseWord(' hello the world! '));
// "world! the hello"
二、思路分析:
常规题目反转字符串; 考察js基础; 下面根据我的思路和代码总结下本题用到的api;
- split:方法使用指定的分隔符字符串将一个String对象分割成子字符串数组,以一个指定的分割字串来决定每个拆分的位置。
- filter:创建一个新的数组,新数组中的元素是通过检查指定数组中符合条件的所有元素。filter 为数组中的每个元素调用一次 callback 函数,并利用所有使得 callback 返回 true 或等价于 true 的值的元素创建一个新数组。
- reverse:用于颠倒数组中元素的顺序。
- join:用于把数组中的所有元素转换一个字符串。元素是通过指定的分隔符进行分隔的。
- trim:方法用于删除字符串的头尾空白符,空白符包括:空格、制表符 tab、换行符等其他空白符等。trim() 方法不会改变原始字符串。trim() 方法不适用于 null, undefined, Number 类型。
三、AC 代码:
function reverseWord (string) {
return string
.split(' ')
.filter((v) => v)
.reverse()
.join(' ')
.trim();
}
console.log(reverseWord(' hello the world! '));
四、总结:
试着参加掘金活动打个卡,先从个简单小题开始;