js中实现字符串和数组的相互转化详解

最近看了一道JS的面试题,是这样描述的:利用var s1=prompt("请输入任意的字符串","")可以获取用户输入 的字符串,试编程将用户输入的字符串“反转”,并且将字符串输出。 想了一下,字符串对象的方法中并没有实现反转的,但是数组中有,于是考虑了字符串和数组的相互转换问题。 JS中的内置对象中包括字符串对象(String)和数组对象(Array),这两个对象是可以通过它们对象的方法实现相互 转化的。对于String对象,提供了对字符串进行操作的属性方法;对于Array对象,提供了数组操作方面的属性和方 法。因此我们实现上面的面试题就容易了。

一、字符串转化为数组

String对象中的split()方法 上述方法功能是:将一个字符串切割成若干段,返回一个数组。也就是说,可以将一个字符串转成数值。如: strObj.split(分割号),参数是一个分割号的字符串,用指定的分割号将字符串切成若干段。 实例:

rush:js;"> //要求输出今天是星期几 //定义一个星期字符串 var str="星期日,星期一,星期二,星期三,星期四,星期五,星期六"; //创建一个日期对象 var today=new Date(); //使用today对象的getDay()方法 var week=today.getDay(); //将星期字符串分割成一个数组 var arr=str.split(","); document.write("类型是:"+typeof(arr)+",数组的第一个元素是:"+arr[0]+"
"); //输出结果 document.write("今天是:"+arr[week]);

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

二、数组转换为字符串和数组元素实现反转

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

rush:js;"> var arr=["a","b","c"]; var str=arr.join("-"); document.write("类型是:"+typeof(str)+",字符串是:"+str);

输出的结果是:类型是:string,字符串是:a-b-c Array对象的reverse()方法 上述方法功能是:将数组中各元素颠倒顺序。如:arrObj.reverse()。 实例:

rush:js;"> var arr=["a","c"]; arr.reverse(); document.write(arr);

输出的结果是:c,b,a 最后我们来看面试题的实现代码

rush:js;"> /* 利用var s1=prompt("请输入任意的字符串","")可以获取用户输入 的字符串,试编程将用户输入的字符串“反转”,并且将字符串输出。 */ //接受字符串 var s1=prompt("请输入任意的字符串",""); //字符串转换为数组 var arr=s1.split(""); //利用数组对象的reverse()方法实现反转 arr.reverse(); //利用数组的join()方法转换为字符串 var str=arr.join(""); document.write(str);

实现的结果:

内容,希望对大家的学习有所帮助。

相关文章

前言 做过web项目开发的人对layer弹层组件肯定不陌生,作为l...
前言 前端表单校验是过滤无效数据、假数据、有毒数据的第一步...
前言 图片上传是web项目常见的需求,我基于之前的博客的代码...
前言 导出Excel文件这个功能,通常都是在后端实现返回前端一...
前言 众所周知,js是单线程的,从上往下,从左往右依次执行,...
前言 项目开发中,我们可能会碰到这样的需求:select标签,禁...