反转字符串 | 刷题打卡

311 阅读1分钟

本文正在参与掘金团队号上线活动,点击 查看大厂春招职位

一、题目描述:

请实现函数 reverseWord,对字符串中的单词进行反转,并满足以下条件:

  1. 单词间以空格进行分割,若有多个空格只保留一个;
  2. 去除字符串所有首尾空格;
function reverseWord (string) {
    // 你的代码实现
}
console.log(reverseWord('   hello   the  world!   '));
// "world! the hello"

二、思路分析:

常规题目反转字符串; 考察js基础; 下面根据我的思路和代码总结下本题用到的api;

  1. split:方法使用指定的分隔符字符串将一个String对象分割成子字符串数组,以一个指定的分割字串来决定每个拆分的位置。
  2. filter:创建一个新的数组,新数组中的元素是通过检查指定数组中符合条件的所有元素。filter 为数组中的每个元素调用一次 callback 函数,并利用所有使得 callback 返回 true 或等价于 true 的值的元素创建一个新数组。
  3. reverse:用于颠倒数组中元素的顺序。
  4. join:用于把数组中的所有元素转换一个字符串。元素是通过指定的分隔符进行分隔的。
  5. 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!   '));

四、总结:

试着参加掘金活动打个卡,先从个简单小题开始;