资讯专栏INFORMATION COLUMN

freeCodeCamp 学习记录——初级算法「01」翻转字符串

gotham / 1200人阅读

摘要:语法你指定的进行拆分的分隔符。可以是一个字符串或正则表达式,如果分隔符为空字符串,则将原字符串中每个字符的数组形式返回。如果元素是或者,则会转化成空字符串。语法默认为分隔符空字符串分隔符刚好是方法的反运算。

从这篇开始与非将逐篇介绍在初级算法闯关中遇到的问题和记录,有疏漏和错误的地方希望大家可以帮忙指正。这里推荐一个MDN web docs网站,博客里的方法释义均来自此,点击相应位置可以获得详细释义。

问题描述

将一个字符串反转,得到相反顺序的字符串,比如 reverseString("hello") 返回"olleh"

所用方法

1、split() 点击查看完整释义

split()方法使用指定的分隔符字符串将一个String对象分割成字符串数组,以将字符串分隔为子字符串,以确定每个拆分的位置。

语法:

str.split([separator[, limit]])

separator 你指定的进行拆分的分隔符。

比如你对一个字符串想在空格处将它们分割成数组,通常来说是这样的,一句话中的单词根据空格分开,输入`"Webkit Moz O ms Khtml".split(" ")`,则输出一个数组`["Webkit", "Moz", "O", "ms", "Khtml"]`。`separator`可以是一个字符串或正则表达式,如果分隔符为空字符串,则将str原字符串中每个字符的数组形式返回。

limit 一个整数,限定返回的分割片段数量。

如果 `limit` 为3,则返回找到的前 3 个分割元素。

2、reverse() 点击查看完整释义

reverse()方法将数组中元素的位置颠倒。  第一个数组元素成为最后一个数组元素,最后一个数组元素成为第一个。  reverse
方法颠倒数组中元素的位置,并返回该数组的引用。
注意⚠️只对数组起作用。

语法:

 arr.reverse()

3、join() 点击查看完整释义

join() 方法将一个数组(或一个类数组对象)的所有元素连接成一个字符串并返回这个字符串。 
所有的数组元素被转换成字符串,再用一个分隔符将这些字符串连接起来。如果元素是 undefined 或者null
则会转化成空字符串。
注意⚠️`join()`方法,不会改变数组。

语法:

str = arr.join()
// 默认为 ","

str = arr.join("")
// 分隔符 === 空字符串 ""

str = arr.join(separator)
// 分隔符

刚好是 split() 方法的反运算。

解决思路

将一个字符串先用 split() 方法分解成一个数组,再用 reverse() 方法将数组翻转,因为reverse 方法只作用于数组,最后用 join() 方法将反转后的数组重新连接为字符串输出。

我的代码
function reverseString(str) {
  var strArray = str.split("");
  var strReverse = strArray.reverse();
  str = strReverse.join("");
  return str;
}

reverseString("hello");

一些问题

一开始没有注意到 reverse 方法只能作用于数组。

「第 1 题完」

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/107630.html

相关文章

  • FreeCodeCamp 初级算法题 - 翻转符串

    摘要:比如,就是获取第一个字符。后面的暂时不会执行直到遇见传入的字符串为,因为有了返回值,就不会再去调用了。 原文链接:http://singsing.io/blog/2017/... 翻转字符串 (Reverse a String) 题目链接 中文链接 英文链接 级别:初级 (Basic Algorithm Scripting) 问题解释 这个 function 接收一个字符串参数,...

    OpenDigg 评论0 收藏0
  • FreeCodeCamp基础算法题答案解析

    摘要:总结下基础算法题先把字符串转化成数组,再借助数组的方法翻转数组顺序,最后把数组转化成字符串。检查一个字符串是否以指定的字符串结尾。删除数组中的所有假值。加密算法的核心是前个字母值加,后个字母值减从字母表重新回滚。 总结下FreeCodeCamp基础算法题: Reverse a String 先把字符串转化成数组,再借助数组的reverse方法翻转数组顺序,最后把数组转化成字符串。 fu...

    sihai 评论0 收藏0
  • 16道初级脚本算法,你要挑战一下吗?

    摘要:设置首字母大写算法挑战返回一个字符串确保字符串的每个单词首字母都大写,其余部分小写。确认末尾字符算法检查一个字符串是否以指定的字符串结尾。删除数组中特定值算法挑战删除数组中的所有的假值。 在w3cschool上看到了这些初级算法题目,自己先尝试做了一下,不会的也会查看一下别人的借鉴一下思路,更多的帮助自己熟悉字符串和数组方法的应用.如果您有更好的解法,可以指出来还有中级算法题目和后面的...

    kumfo 评论0 收藏0
  • W3Cschool——初级脚本算法

    摘要:方法二提供者沐辰楼姬采用对象的方法取值优化内部循环性能确认末尾字符算法挑战检查一个字符串是否以指定的字符串结尾。方法一方法二提供者沐辰楼姬使用数组对象方法,把数组的第一个元素从其中删除,并返回第一个元素的值。 showImg(https://segmentfault.com/img/remote/1460000009702368?w=1269&h=541); 前言 偶然看到W3Csch...

    mayaohua 评论0 收藏0
  • W3Cschool——初级脚本算法

    摘要:方法二提供者沐辰楼姬采用对象的方法取值优化内部循环性能确认末尾字符算法挑战检查一个字符串是否以指定的字符串结尾。方法一方法二提供者沐辰楼姬使用数组对象方法,把数组的第一个元素从其中删除,并返回第一个元素的值。 showImg(https://segmentfault.com/img/remote/1460000009702368?w=1269&h=541); 前言 偶然看到W3Csch...

    CntChen 评论0 收藏0

发表评论

0条评论

gotham

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<