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 相关文章推荐
js判断样式className同时增加class或删除class
Jan 30 Javascript
Yii-自定义删除确认弹框(zyd)jquery实现代码
Mar 04 Javascript
jquery.form.js用法之清空form的方法
Mar 07 Javascript
jquery通过visible来判断标签是否显示或隐藏
May 08 Javascript
详解JavaScript ES6中的Generator
Jul 28 Javascript
jquery实现表格中点击相应行变色功能效果【实例代码】
May 09 Javascript
jQuery Easyui 验证两次密码输入是否相等
May 13 Javascript
js实现的xml对象转json功能示例
Dec 24 Javascript
js时间戳格式化成日期格式的多种方法介绍
Feb 16 Javascript
vue .sync修饰符的使用详解
Jun 15 Javascript
用vue 实现手机触屏滑动功能
May 28 Javascript
Vue看了就会的8个小技巧
Jan 21 Vue.js
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
COM in PHP (winows only)
2006/10/09 PHP
抛弃 PHP 代价太高
2016/04/26 PHP
PHP中使用OpenSSL生成证书及加密解密
2017/02/05 PHP
JQquery的一些使用心得分享
2012/08/01 Javascript
JavaScript中__proto__与prototype的关系深入理解
2012/12/04 Javascript
js中parseFloat(参数1,参数2)定义和用法及注意事项
2013/01/27 Javascript
UpdatePanel和Jquery冲突的解决方法
2013/04/01 Javascript
javascript用户注册提示效果的简单实例
2013/08/17 Javascript
如何在指定的地方插入html内容和文本内容
2013/12/23 Javascript
jquery动态调整div大小使其宽度始终为浏览器宽度
2014/06/06 Javascript
node.js中的http.get方法使用说明
2014/12/14 Javascript
javascript实现九宫格相加数值相等
2020/05/28 Javascript
基于JS代码实现导航条弹出式悬浮菜单
2016/06/17 Javascript
微信浏览器禁止页面下拉查看网址实例详解
2017/06/28 Javascript
解决VUEX兼容IE上的报错问题
2018/03/01 Javascript
浅谈VUE防抖与节流的最佳解决方案(函数式组件)
2019/05/22 Javascript
vue中使用router全局守卫实现页面拦截的示例
2020/10/23 Javascript
[57:22]2018DOTA2亚洲邀请赛 4.7总决赛 LGD vs Mineski 第五场
2018/04/10 DOTA
Python与shell的3种交互方式介绍
2015/04/11 Python
使用Python的PEAK来适配协议的教程
2015/04/14 Python
python实现在windows下操作word的方法
2015/04/28 Python
Python OS模块常用函数说明
2015/05/23 Python
python 根据正则表达式提取指定的内容实例详解
2016/12/04 Python
Python基于回溯法解决01背包问题实例
2017/12/06 Python
win10下python3.5.2和tensorflow安装环境搭建教程
2018/09/19 Python
简单了解django索引的相关知识
2019/07/17 Python
Python多线程获取返回值代码实例
2020/02/17 Python
python 实现非极大值抑制算法(Non-maximum suppression, NMS)
2020/10/15 Python
六十大寿答谢词
2014/01/12 职场文书
村级个人对照检查材料
2014/08/22 职场文书
教师先进事迹材料
2014/12/16 职场文书
2014年乡镇团委工作总结
2014/12/18 职场文书
银行先进个人总结
2015/02/15 职场文书
保护校园环境倡议书
2015/04/28 职场文书
班级联欢会主持词
2015/07/03 职场文书
SqlServer 垂直分表(减少程序改动)
2021/04/16 SQL Server