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之数组(Array)详解
Apr 01 Javascript
javascript实现手机震动API代码
Aug 05 Javascript
js调用百度地图及调用百度地图的搜索功能
Sep 07 Javascript
jQuery Mobile页面返回不需要重新get
Apr 26 Javascript
vue+node+webpack环境搭建教程
Nov 05 Javascript
three.js实现3D视野缩放效果
Nov 16 Javascript
微信小程序获取手机网络状态的方法【附源码下载】
Dec 08 Javascript
vue点击input弹出带搜索键盘并监听该元素的方法
Aug 25 Javascript
jsonp跨域获取百度联想词的方法分析
May 13 Javascript
微信小程序服务器日期格式化问题
Jan 07 Javascript
vue+Element-ui前端实现分页效果
Nov 15 Javascript
VUE解决跨域问题Access to XMLHttpRequest at
May 06 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
大家都应该掌握的PHP关联数组使用技巧
2015/12/25 PHP
Zend Framework动作助手Url用法详解
2016/03/05 PHP
WordPress过滤垃圾评论的几种主要方法小结
2016/07/11 PHP
php封装一个异常的处理类
2017/06/08 PHP
Laravel构建即时应用的一种实现方法详解
2017/08/31 PHP
Array对象方法参考
2006/10/03 Javascript
javaScript parseInt字符转化为数字函数使用小结
2009/11/05 Javascript
jquery1.4.2 for Visual studio 2010 模板文件
2010/07/14 Javascript
js创建数据共享接口——简化框架之间相互传值
2011/10/23 Javascript
防止浏览器记住用户名及密码的简单实用方法
2013/04/22 Javascript
js如何判断不同系统的浏览器类型
2013/10/28 Javascript
js判断数据类型如判断是否为数组是否为字符串等等
2014/01/15 Javascript
javascript对象的使用和属性操作示例详解
2014/03/02 Javascript
Jqgrid之强大的表格插件应用
2015/12/02 Javascript
WordPress中鼠标悬停显示和隐藏评论及引用按钮的实现
2016/01/12 Javascript
在AngularJS中如何使用谷歌地图把当前位置显示出来
2016/01/25 Javascript
原生js的数组除重复简单实例
2016/05/24 Javascript
深入理解JavaScript中的call、apply、bind方法的区别
2016/05/30 Javascript
vue2.0父子组件及非父子组件之间的通信方法
2017/01/21 Javascript
100多个基础常用JS函数和语法集合大全
2017/02/16 Javascript
nodejs操作mongodb的填删改查模块的制作及引入实例
2018/01/02 NodeJs
Js Snowflake(雪花算法)生成随机ID的实现方法
2020/08/26 Javascript
Python中使用ElementTree解析XML示例
2015/06/02 Python
Python多进程机制实例详解
2015/07/02 Python
深入解析Python中的集合类型操作符
2015/08/19 Python
基于Python对象引用、可变性和垃圾回收详解
2017/08/21 Python
python 3.5实现检测路由器流量并写入txt的方法实例
2017/12/17 Python
在pandas中一次性删除dataframe的多个列方法
2018/04/10 Python
python的schedule定时任务模块二次封装方法
2019/02/19 Python
Tensorflow: 从checkpoint文件中读取tensor方式
2020/02/10 Python
如何用 Python 处理不平衡数据集
2021/01/04 Python
如何写出高质量、高性能的MySQL查询
2014/11/17 面试题
党性教育心得体会
2014/09/03 职场文书
遇事可以测出您的见识与格局
2019/09/16 职场文书
php 解析非标准json、非规范json
2021/04/01 PHP
使用Oracle跟踪文件的问题详解
2021/06/28 Oracle