早上起来看了一道js的面试题,是这样描述的:利用var s1=prompt("请输入任意的字符串","")能够获取用户输入javascript
的字符串,试编程将用户输入的字符串“反转”,而且将字符串输出。java
想了一下,字符串对象的方法中并无实现反转的,可是数组中有,因而考虑了字符串和数组的相互转换问题。面试
JS中的内置对象中包括字符串对象(String)和数组对象(Array),这两个对象是能够经过它们对象的方法实现相互编程
转化的。对于String对象,提供了对字符串进行操做的属性和方法;对于Array对象,提供了数组操做方面的属性和方数组
法。所以咱们实现上面的面试题就容易了。spa
一首先来看字符串转化为数组
String对象中的split()方法
上述方法的功能是:将一个字符串切割成若干段,返回一个数组。也就是说,能够将一个字符串转成数值。如:.net
strObj.split(分割号),参数是一个分割号的字符串,用指定的分割号将字符串切成若干段。对象
实例:blog
- <span style="font-size:18px;">
- var str="星期日,星期一,星期二,星期三,星期四,星期五,星期六";
- var today=new Date();
- var week=today.getDay();
- var arr=str.split(",");
- document.write("类型是:"+typeof(arr)+",数组的第一个元素是:"+arr[0]+"<br />");
- document.write("今天是:"+arr[week]);</span>
输出的结果是:类型是:object,数组的第一个元素是:星期日ip
今天是:星期五
二再来看数组转换为字符串和数组元素实现反转
Array对象的join()方法
上述方法的功能是:将一个数组转成字符串。如:arrObj.join(链接号),将一个数组用指定的链接号连接成一个字
符串。
实例:
- <span style="font-size:18px;">var arr=["a","b","c"];
- var str=arr.join("-");
- document.write("类型是:"+typeof(str)+",字符串是:"+str);</span>
输出的结果是:类型是:string,字符串是:a-b-c
Array对象的reverse()方法
上述方法的功能是:将数组中各元素颠倒顺序。如:arrObj.reverse()。
实例:
- <span style="font-size:18px;">var arr=["a","b","c"];
- arr.reverse();
- document.write(arr);</span>
输出的结果是:c,b,a
三最后咱们来看面试题的实现代码:
- <span style="font-size:18px;">
- var s1=prompt("请输入任意的字符串","");
- var arr=s1.split("");
- arr.reverse();
- var str=arr.join("");
- document.write(str);</span>
实现的结果:
合成一条语句就是:var result = "beijing".split("").reverse().join("");
from: http://blog.csdn.net/erlian1992/article/details/50561452