zoukankan      html  css  js  c++  java
  • JS中实现字符串和数组的相互转化

     早上起来看了一道js的面试题,是这样描述的:利用var s1=prompt("请输入任意的字符串","")可以获取用户输入

    的字符串,试编程将用户输入的字符串“反转”,并且将字符串输出。

            想了一下,字符串对象的方法中并没有实现反转的,但是数组中有,于是考虑了字符串和数组的相互转换问题。

            JS中的内置对象中包括字符串对象(String)和数组对象(Array),这两个对象是可以通过它们对象的方法实现相互

    转化的。对于String对象,提供了对字符串进行操作的属性和方法;对于Array对象,提供了数组操作方面的属性和方

    法。因此我们实现上面的面试题就容易了。

           一首先来看字符串转化为数组

           String对象中的split()方法

           上述方法的功能是:将一个字符串切割成若干段,返回一个数组。也就是说,可以将一个字符串转成数值。如:

    strObj.split(分割号),参数是一个分割号的字符串,用指定的分割号将字符串切成若干段。

           实例:

    [javascript] view plain copy
     
     print?
    1. <span style="font-size:18px;">//要求输出今天是星期几  
    2. //定义一个星期字符串  
    3. var str="星期日,星期一,星期二,星期三,星期四,星期五,星期六";  
    4. //创建一个日期对象  
    5. var today=new Date();  
    6. //使用today对象的getDay()方法  
    7. var week=today.getDay();  
    8. //将星期字符串分割成一个数组  
    9. var arr=str.split(",");  
    10. document.write("类型是:"+typeof(arr)+",数组的第一个元素是:"+arr[0]+"<br />");  
    11. //输出结果  
    12. document.write("今天是:"+arr[week]);</span>  

           输出的结果是:类型是:object,数组的第一个元素是:星期日

                      今天是:星期五

           二再来看数组转换为字符串和数组元素实现反转

           Array对象的join()方法

           上述方法的功能是:将一个数组转成字符串。如:arrObj.join(连接号),将一个数组用指定的连接号链接成一个字

    符串。

           实例:

    [javascript] view plain copy
     
     print?
    1. <span style="font-size:18px;">var arr=["a","b","c"];  
    2. var str=arr.join("-");  
    3. document.write("类型是:"+typeof(str)+",字符串是:"+str);</span>  

           输出的结果是:类型是:string,字符串是:a-b-c

           Array对象的reverse()方法

           上述方法的功能是:将数组中各元素颠倒顺序。如:arrObj.reverse()。

           实例:

    [javascript] view plain copy
     
     print?
    1. <span style="font-size:18px;">var arr=["a","b","c"];  
    2. arr.reverse();  
    3. document.write(arr);</span>  

           输出的结果是:c,b,a

           三最后我们来看面试题的实现代码:

    [javascript] view plain copy
     
     print?
    1. <span style="font-size:18px;">/* 
    2.   利用var s1=prompt("请输入任意的字符串","")可以获取用户输入 
    3.   的字符串,试编程将用户输入的字符串“反转”,并且将字符串输出。 
    4. */  
    5. //接受字符串  
    6. var s1=prompt("请输入任意的字符串","");  
    7. //字符串转换为数组  
    8. var arr=s1.split("");  
    9. //利用数组对象的reverse()方法实现反转  
    10. arr.reverse();  
    11. //利用数组的join()方法转换为字符串  
    12. var str=arr.join("");  
    13. document.write(str);</span>  

             实现的结果:

    合成一条语句就是:var result = "beijing".split("").reverse().join("");
     
    from: http://blog.csdn.net/erlian1992/article/details/50561452
  • 相关阅读:
    纯awk传参和awk脚本传参
    【转】MySQL 备份和恢复(MyISAM 和 Innodb)
    【z】多线程Java Socket编程示例
    Java,Tomcat,Mysql乱码总结
    mysql备份与同步shell脚本
    【转】Velocity用户手册中文版(学习修改版)
    wml新学的标签
    【原】小心log4j的多进程写入
    【z】Webservice 的设计和模式
    【z】linux面试题参考答案
  • 原文地址:https://www.cnblogs.com/GarfieldEr007/p/6979004.html
Copyright © 2011-2022 走看看