js string and array
如何快速颠倒一个字符串的顺序?
js的字符串对象中并没有直接内置这样的方法,但数组对象却内置了对应的方法,
按照上篇文章中介绍的apply机制,我们可以借助数组的reverse方法啊。
var str="12345"; |
为何会出现此错误?查阅JavaScript核心API后发现,Array.reverse()方法并不支持参数。
所以我们是无法借助call给Array.reverse()方法传入参数str的。
由此可以得出:call、apply并不是万精油。
那么这个时候我们应该换个思路:先把字符串转化成数组,颠倒顺序后再转回来。
var str="12345"; |
我们可以为字符串对象扩展这个方法,方便以后随时调用
String.prototype.reverse=function(){ |
OK,此方法完美无缺。
当然,大部分人想到的做法是循环。
var str="12345"; |
我们再来看看,如果让你来设计一门语言,并让你来实现数组的reverse()方法,你该如何做呢?
var arr=[1,2,3,4,5]; |
由此可以看出,字符串和数组本质上都是同一个数据类型:序列。