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


Posted in Javascript onJanuary 24, 2016

         最近看了一道JS的面试题,是这样描述的:利用var s1=prompt("请输入任意的字符串","")可以获取用户输入
的字符串,试编程将用户输入的字符串“反转”,并且将字符串输出。
        想了一下,字符串对象的方法中并没有实现反转的,但是数组中有,于是考虑了字符串和数组的相互转换问题。
        JS中的内置对象中包括字符串对象(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]);

 输出的结果是:类型是:object,数组的第一个元素是:星期日
                            今天是:星期五
二、数组转换为字符串和数组元素实现反转
 Array对象的join()方法
       上述方法的功能是:将一个数组转成字符串。如:arrObj.join(连接号),将一个数组用指定的连接号链接成一个字
符串。
实例:

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

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

var arr=["a","b","c"]; 
arr.reverse(); 
document.write(arr);

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

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

 实现的结果:

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

以上就是本文的全部内容,希望对大家的学习有所帮助。

Javascript 相关文章推荐
比较详细的关于javascript中void(0)的具体含义解释
Aug 02 Javascript
Javascript Select操作大集合
May 26 Javascript
js定义对象或数组直接量时各浏览器对多余逗号的处理(json)
Mar 05 Javascript
jquery1.10给新增元素绑定事件的方法
Mar 06 Javascript
javascript单引号和双引号的区别和处理
May 14 Javascript
Javascript中的迭代、归并方法详解
Jun 14 Javascript
让DIV的滚动条自动滚动到最底部的3种方法(推荐)
Sep 24 Javascript
微信小程序 教程之WXSS
Oct 18 Javascript
Node.js开发第三方微信公众平台
Jun 05 Javascript
JQuery判断正整数整理小结
Aug 21 jQuery
js推箱子小游戏步骤代码解析
Jan 10 Javascript
JavaScript this使用方法图解
Feb 04 Javascript
JavaScript基础知识之方法汇总结
Jan 24 #Javascript
Javascript实现单例模式
Jan 24 #Javascript
原生JavaScript实现滚动条效果
Mar 24 #Javascript
AngularJS中如何使用$http对MongoLab数据表进行增删改查
Jan 23 #Javascript
jQuery Form 表单提交插件之formSerialize,fieldSerialize,fieldValue,resetForm,clearForm,clearFields的应用
Jan 23 #Javascript
jQuery form插件之ajaxForm()和ajaxSubmit()的可选参数项对象
Jan 23 #Javascript
jQuery form插件之formDdata参数校验表单及验证后提交
Jan 23 #Javascript
You might like
PHP+MySQL投票系统的设计和实现分享
2012/09/23 PHP
Yii入门教程之目录结构、入口文件及路由设置
2014/11/25 PHP
php模拟用户自动在qq空间发表文章的方法
2015/01/07 PHP
PHP中使用GD库绘制折线图 折线统计图的绘制方法
2015/11/09 PHP
php json相关函数用法示例
2017/03/28 PHP
PHP微信PC二维码登陆的实现思路
2017/07/13 PHP
PHP高精确度运算BC函数库实例详解
2017/08/15 PHP
PHP文件打开关闭及读写操作示例解析
2020/08/06 PHP
经典的解除许多网站无法复制文字的绝招
2006/12/31 Javascript
jquery UI 1.72 之datepicker
2009/12/29 Javascript
jQuery EasyUI 中文API Layout(Tabs)
2010/04/27 Javascript
JavaScript实现统计文本框Textarea字数增强用户体验
2012/12/21 Javascript
jquery阻止冒泡事件使用模拟事件
2013/09/06 Javascript
JS 删除字符串最后一个字符的实现代码
2014/02/20 Javascript
让JavaScript中setTimeout支持链式操作的方法
2015/06/19 Javascript
bootstrap table小案例
2016/10/21 Javascript
实例学习JavaScript读取和写入cookie
2018/01/29 Javascript
vue 过滤器filter实例详解
2018/03/14 Javascript
Vue中使用canvas方法总结
2019/02/12 Javascript
jQuery+ajax实现批量删除功能完整示例
2019/06/06 jQuery
浅谈JS中this在各个场景下的指向
2019/08/14 Javascript
node中使用log4js4.x版本记录日志的方法
2019/08/20 Javascript
解决vue自定义指令导致的内存泄漏问题
2020/08/04 Javascript
[06:07]辉夜杯现场观众互动 “比谁远送显示器”
2015/12/26 DOTA
[00:12]DAC2018 天才少年转战三号位,他的SOLO是否仍如昔日般强大?
2018/04/06 DOTA
python发送邮件的实例代码(支持html、图片、附件)
2013/03/04 Python
Linux 下 Python 实现按任意键退出的实现方法
2016/09/25 Python
python下setuptools的安装详解及No module named setuptools的解决方法
2017/07/06 Python
Python多线程threading和multiprocessing模块实例解析
2018/01/29 Python
详解HTML5 LocalStorage 本地存储
2016/12/23 HTML / CSS
国际经济贸易专业推荐信
2013/11/06 职场文书
社区母亲节活动方案
2014/03/05 职场文书
神龙架导游词
2015/02/11 职场文书
浅谈移动端中的视口(viewport)的具体使用
2021/04/13 HTML / CSS
浅谈Python中的函数(def)及参数传递操作
2021/05/25 Python
pd.DataFrame中的几种索引变换的实现
2022/06/16 Python