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 相关文章推荐
发布BlueShow v1.0 图片浏览器(类似lightbox)blueshow.js 打包下载
Jul 21 Javascript
javascript 拖放效果实现代码
Jan 22 Javascript
jquery animate实现鼠标放上去显示离开隐藏效果
Jul 21 Javascript
node.js中的fs.createReadStream方法使用说明
Dec 17 Javascript
AngularJS出现$http异步后台无法获取请求参数问题的解决方法
Nov 03 Javascript
Node.js设置CORS跨域请求中多域名白名单的方法
Mar 28 Javascript
JS获取日期的方法实例【昨天,今天,明天,前n天,后n天的日期】
Sep 28 Javascript
解决Jquery下拉框数据动态获取的问题
Jan 25 jQuery
JS选取DOM元素常见操作方法实例分析
Dec 10 Javascript
微信小程序如何使用canvas二维码保存至手机相册
Jul 15 Javascript
layer.msg()去掉默认时间,实现手动关闭的方法
Sep 12 Javascript
浅谈element中InfiniteScroll按需引入的一点注意事项
Jun 05 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高级编程-函数-郑阿奇
2011/07/04 PHP
Windows下安装PHP单元测试环境PHPUnit图文教程
2014/10/24 PHP
php修改上传图片尺寸的方法
2015/04/14 PHP
PHP用正则匹配form表单中所有元素的类型和属性值实例代码
2017/02/28 PHP
javaScript 删除字符串空格多种方法小结
2012/10/24 Javascript
javascript之typeof、instanceof操作符使用探讨
2013/05/19 Javascript
node.js中的socket.io入门实例
2014/04/26 Javascript
js鼠标滑过图片震动特效的方法
2015/02/17 Javascript
js获取form的方法
2015/05/06 Javascript
理解jquery事件冒泡
2016/01/03 Javascript
AngularJS入门教程之AngularJS模型
2016/04/18 Javascript
jQuery给指定的table动态添加删除行的操作方法
2016/10/12 Javascript
nodejs动态创建二维码的方法
2017/08/12 NodeJs
微信小程序 循环及嵌套循环的使用总结
2017/09/26 Javascript
webpack4.0打包优化策略整理小结
2018/03/30 Javascript
vue和better-scroll实现列表左右联动效果详解
2019/04/29 Javascript
微信小程序之下拉列表实现方法解析(附完整源码)
2019/08/23 Javascript
Node.js系列之安装配置与基本使用(1)
2019/08/30 Javascript
JavaScript 如何计算文本的行数的实现
2020/09/14 Javascript
Pycharm技巧之代码跳转该如何回退
2017/07/16 Python
Django与JS交互的示例代码
2017/08/23 Python
利用Python-iGraph如何绘制贴吧/微博的好友关系图详解
2017/11/02 Python
Python机器学习之K-Means聚类实现详解
2018/02/22 Python
PyQt5 QSerialPort子线程操作的实现
2018/04/21 Python
Python安装whl文件过程图解
2020/02/18 Python
CSS3 实现倒计时效果
2020/11/25 HTML / CSS
使用HTML和CSS实现的标签云效果(附demo)
2021/02/03 HTML / CSS
AVIS安飞士奥地利租车官网:提供奥地利、欧洲和全世界汽车租赁
2016/11/29 全球购物
Ben Sherman官方网站:英国男装品牌
2019/10/22 全球购物
俄罗斯电子产品、计算机和家用电器购物网站:OLDI
2019/10/27 全球购物
将一个数的从第5位开始的7个数取出,其余位置0
2016/05/26 面试题
nohup的用法
2012/11/26 面试题
法人代表身份证明书及授权委托书
2014/09/16 职场文书
历史博物馆观后感
2015/06/05 职场文书
职场:企业印章管理制度(模板)
2019/10/18 职场文书
解决mysql:ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO/YES)
2021/06/26 MySQL