00:00
大家好,我是上威谷H5学科讲师刘志远,在成悬教到来之际呢,给大家分享一道面试题。啊,我们来看题,首先已知一个字符串。然后需要我们做的事情呢,把它封装成一个函数,用来把这个名字,或者说这个字符串呢,转换成驼峰命名,那所谓驼峰命名呢,那我们知道就是几个单词拼成了一个名字,然后第一个单词的首字母是不变的,那剩下来。每一个单词的首字母都需要进行大写的,也就是我们看到的element e啊,还有这个BY,这个B,还有I的这个I。好,那我们先抛开啊,封装的事情我们先不管,我们先把这个功能实现了,那既然是字符串呢,我在这里声明一个变量,哎,我叫o fo。啊,Oo OK。然后呢,单引号哦,直接把字符串拿过来。好,拿到以后呢,那我们来分析一下这个字符串,其实它是有规律的,我们会看到啊,它的每个单词之间呢,都是一个中画线,所以呢,那我们现在其实想拿到的是什么呀?就是里边的每一个元素,然后把中和线去掉,并且把每个元素首字变成大写是吧?好,那我们想到了一个字符串当中的一个函数,或者一个方法,叫做split。
01:22
根据啊,根据某个字符。哎,进行什么进行切割。叫做foo点,叫做SPA啊。这里边需要传参数呢,就是你想要切割的那一个字符,那我们需要根据中画线进行切割好,此时返回的就是一个数组,那既然数组呢,我就VR。采用一个变量进行接收,那下边呢,我们用cancel log打印日志的方式呢,打印一下看一看。Or?走一下。
02:00
F12。此时呢,我们看到返回就是一个速度,长度是四,那分别存了四个元素,Get element by ID啊左侧呢是对应的索引值。那接下来我们要做的事情是什么?那除去所引值零的这个get以外啊,那剩下来的从一开始到最后每个单词的首字母变成大写,其他的不变对吧?好,那我们要做的事情是不是要需要进行?哎,那我们先拿element来举例吧,那根据我的AR中括号,我这不写一拿到什么叫element,那拿到element以后呢,我还需要拿到element当中的那第一个E,那我们说了四五串呢,它本身也是一个速度。那我们通过索引值呢,可以访问里边的具体的每一个字符,哎,我们通过。这有一个函数叫什么点啊,叫做叉at啊,根据字符串的啊一个索引值拿到对应的一个字符,所以呢,在这里我们就写一个零,我需要拿到是不是就E好打一下,我们看一看是不是就是E啊走一下诶没问题,那拿到E以后呢,我们还需要转成大写,转成大写呢,也就解释字符转正的一个方法,直接点叫做to。
03:14
To upper case,好,此时再保存,我们再看一看刷新,诶,没问题,变成大写的E了,好,那我们刚才这个方法做的事情啊,就是取出每个元素,或者说获取是吧。获取。获取每个元素中的第一个字符是吧?定。转。转换成。大写是吧,好,那第一个转正大写了,后边是不是不变呀。那我是不是把后边的这些字符串进行再次拼接,是不是就OK了,那怎么能拿到呢?那我们是不是还有一个方法叫做什么叫做切割啊,叫做这个,呃,截取字符串是不是,那好啊,那我需要截取的是不是就是除去我们。
04:04
第一个字母啊,那在这是不是就是AR还是啊中国号一点什么呢?点一个叫做sub str啊好,我们看到需要传两个参数啊,第一个就是起始器截取的那个缩引值,还有一个就是截束的索引值。啊,结束做一证。那好,那起始索引值呢,是不是就是一啊。对吧,那结束的呢,结束的缩进制,我们说了是不是就是。我们的最大字符串的最大长度减一啊。就是最大缩进值是不是,所以在这儿啊是A2。中国号是不是还是一,然后点。Les。那Le似什么?Le似是一个最大长度,那索引值道是不是减一,哎,这时候是不是就OK了?好OK,以后呢,那我们打一下看看啊,拿到的是不是我们想要的啊,好直接刷新。诶,是不是叫艾问的呀。
05:01
那我们一个搞定了,那接下来相同的事情是不是丢给负循环去做呀?好,那此时呢,我们会想到我需要定一个for是吧?好,VR呢,我们这个I,我们说I呢,刨去我们第一个元素,所以呢,我们要从一开始。好,然后循环的次数呢,是不是就是a.Les。对吧,诶小于一个,我们最大长度就OK了,然后呢,哎佳佳,哎,老套路。好在这里边儿呢,我们要做的事情,是不是就把刚才这一朵。变成一个可变的呀,那说白了可变的是什么,是不是就里边的这个一变成I就完了,这变成I,然后呢,这变成I。然后这儿变成。那每一次拿到的都是不同的元素,然后都做同样的事情,大第一个字母大写转换,然后拼接剩下的是不是好,那每一次拼接呢,我们是不是应该让它重新再复制给他自己啊?
06:06
重新复制给自己那个元素对应的那个索引是不是啊。好,那我们这么一做完呢,其实就已经拼接完了。啊,拼接完以后呢,那接下来呢,我们可以再打印一下这个数组来看一看是吧,还是利用pencil.logo日志来打印一下我们的A22,看看是不是重新进行。啊,切割完以后,重新进行一个字母大写字母转换,然后再拼接,把所有的拼在一块啊。那此时呢?返回的是一个重新赋值后的一个数组。Get element by ID没有错,那接下来呢,我们是不是就把这四个单词连接在一起啊,那连接的时候中间是不是什么都没有啊,不像之前有这个中华线。那说白了,那这个时候呢,那我们还得用到字符串当中一个叫做连接字符串是吧,连接字符串那A点什么呀?点有一个叫做join。
07:05
啊,根据某一个字符进行连接,那其实和speed其实是一个相反的一个操作,这是把数组转成字符串,那这个是把数组,哎,这是把字符串转成数组,那下边呢是把数组转成字符串是吧。根据啊,根据某个字符将什么将数组转换。称。字符串。好,那此时传出的参数呢,那我们是不是就传一个空字符串就完了,因为他们之间没有任何的东西,是不是好此时呢,我们再打一下看一看啊,一刷新诶没问题了。那接下来的事情,我们是不是应该把刚才写的这个功能封装一个方法呀,我们需要把它写活了呀,哎,当我们再次调用的时候呢,无论我们传入这个。字符串是什么样子,当然你得按照规则来啊,也就是说你需要以单词中间中画线的方式啊传进来,那此时呢,那都会帮我们进行一个驼峰运的转换。
08:09
好,那下辈儿该干嘛了?定一个函数吧。这叫什么自定义函数啊?好,自定义函数是不是就是function function,哎,那我们叫to啊,随便来个叫to string嘛,啊,我们也叫to string。啊,兔子这。好,那此时呢,我们需要把刚才这堆代码呢,我们给它咔嚓一剪切啊放进来。好,整理一下代码。好,那现在呢,我们一运行肯定不会执行的,因为我们说函数呢,需要调用的,那下边我们是不是直接就。死就完了。好直接涂子润,好涂子润以后呢。那现在呢,我们要把这件事情给它写活了,要通过参数传进来,所以呢,这儿呢,我们是不是定一个叫做哎,Ofo就完了。
09:11
啊,那下边这句话是不是就可以不要了,因为我们要把它当成参数传进来,这定了一个形式参数对吧?好,接下来呢,我把它复制一下,这就注释掉了。好,输入这以后呢,那我们是不是就从这儿传进来就行了。好乘进来以后,那此时。他会给我们返回,值吗?不会返,因为我们在这里还没有人的返回呢。啊,那我们这儿是不是就不用打印了直接啊。RETUN。好,当做返回值返回,那此时呢,就给我们成功返回了,那我们需要打一下看一看。啊,看走点log看返回的对不对啊。
10:02
保存好我们再走一下啊刷哎,同样没有问题。好,那此时你可以再多一点东西对吧?杠,我再来一个杠,比如说杠to。好,再刷一下啊,这儿也是没有问题的。啊,当然题目当中呢,没让我们传啊,那我们就不传了,所以呢,这个方法呢,我们就已经封装完了,实现了一个进行。驼峰命名的转换啊,那今天我们这个面试题就分享到这里。
我来说两句