本文详解JavaScript中字符串与数组的相互转换及反转操作。通过String对象的split()将字符串切割为数组,利用Array的join()将数组重组为字符串,并结合reverse()方法实现元素顺序颠倒。文章包含完整示例代码,演示如何结合prompt获取用户输入并输出反转后的字符串结果。
字符串与数组转换思路
近期审视一道JavaScript面试题,题干要求:通过var s1=prompt("请输入任意的字符串","")获取用户输入的字符串,编程实现将该字符串“反转”并输出。思考过程中发现,字符串对象缺乏直接反转方法,而数组对象具备此功能,故需考虑字符串与数组的相互转换。JavaScript内置对象包含字符串对象(String)和数组对象(Array),二者可通过各自方法实现互转。String对象提供字符串操作属性与方法;Array对象提供数组操作属性与方法。基于此,解决上述面试题变得可行。一、字符串转化为数组。String对象中的split()方法。该功能为:将字符串切割成若干段,返回数组。即,可将字符串转为数值(此处原文如此)。如:strObj.split(分割号),参数为分割号的字符串,用指定分割号将字符串切成若干段。实例:
字符串转数组示例
//要求输出今天是星期几
//定义一个星期字符串
var str="星期日,星期一,星期二,星期三,星期四,星期五,星期六";
//创建一个日期对象
var today=new Date();
//使用today对象的getDay()方法
var week=today.getDay();
//将星期字符串分割成一个数组
var arr=str.split(",");
document.write("类型是:"+typeof(arr)+",数组的第一个元素是:"+arr[0]+"<br />");
//输出结果
document.write("今天是:"+arr[week]);
一、字符串转换为数组 使用String对象的split()方法。该方法的功能是将一个字符串按照指定的分隔符切割成若干段,并返回一个数组对象。例如:strObj.split(分割号),其中参数为用于分割字符串的字符或字符串。
数组转字符串示例
var arr=["a","b","c"];
var str=arr.join("-");
document.write("类型是:"+typeof(str)+",字符串是:"+str);
示例代码执行后,输出结果显示类型(typeof)为object,数组的第一个元素为arr[0]。具体运行结果中,程序获取当前日期对应的星期几,并将包含星期的字符串分割为数组后输出。例如输出内容显示:类型是:object,数组的第一个元素是:星期日;今天是:星期五。
数组反转示例
var arr=["a","b","c"];
arr.reverse();
document.write(arr);
二、数组转换为字符串及数组元素反转 首先介绍Array对象的join()方法。该方法的功能是将一个数组中的所有元素连接成一个字符串。例如:arrObj.join(连接号),它使用指定的连接符将数组元素链接成字符串。
面试题完整实现
/*
利用var s1=prompt("请输入任意的字符串","")可以获取用户输入
的字符串,试编程将用户输入的字符串“反转”,并且将字符串输出。
*/
//接受字符串
var s1=prompt("请输入任意的字符串","");
//字符串转换为数组
var arr=s1.split("");
//利用数组对象的reverse()方法实现反转
arr.reverse();
//利用数组的join()方法转换为字符串
var str=arr.join("");
document.write(str);
示例代码执行后,输出结果显示类型(typeof)为string,生成的字符串为连接后的结果。例如输出内容显示:类型是:string,字符串是:a-b-c。 接着介绍Array对象的reverse()方法。该方法的功能是将数组中各元素的顺序颠倒。例如:arrObj.reverse()。

示例代码执行后,输出结果为反转后的数组元素,如c,b,a。 最后展示上述面试题的完整实现代码: