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节点知识
Jan 31 Javascript
jquery 全局AJAX事件使用代码
Nov 05 Javascript
jquery 快速回到页首的方法
Dec 05 Javascript
js采用map取到id集合组并且实现点击一行选中一行
Dec 16 Javascript
jQuery的animate函数学习记录
Aug 08 Javascript
JQuery 两种方法解决刚创建的元素遍历不到的问题
Apr 13 Javascript
JS实现根据文件字节数返回文件大小的方法
Aug 02 Javascript
Angularjs实现分页和分页算法的示例代码
Dec 23 Javascript
JavaScript中的ES6 Proxy的具体使用
Jun 16 Javascript
vue-cli+iview项目打包上线之后图标不显示问题及解决方法
Oct 16 Javascript
js实现简单选项卡制作
Aug 05 Javascript
基于react项目打包css引用路径错误解决方案
Oct 28 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
VML绘图板②脚本--VMLgraph.js、XMLtool.js
2006/10/09 PHP
PHP获取http请求的头信息实现步骤
2012/12/16 PHP
CI框架中集成CKEditor编辑器的教程
2014/06/09 PHP
Laravel 5框架学习之Laravel入门和新建项目
2015/04/07 PHP
PHP处理数组和XML之间的互相转换
2016/06/02 PHP
基于jQuery的固定表格头部的代码(IE6,7,8测试通过)
2010/05/18 Javascript
对之前写的jquery分页做下升级
2014/06/19 Javascript
JavaScript中的document.referrer在各种浏览器测试结果
2014/07/18 Javascript
浅谈javascript:两种注释,声明变量,定义函数
2016/09/29 Javascript
js编写的treeview使用方法
2016/11/11 Javascript
利用百度地图API获取当前位置信息的实例
2017/11/06 Javascript
使用npm安装最新版本nodejs
2018/01/18 NodeJs
微信小程序数据存储与取值详解
2018/01/30 Javascript
详解给Vue2路由导航钩子和axios拦截器做个封装
2018/04/10 Javascript
JS温故而知新之变量提升和时间死区
2019/01/27 Javascript
原生js实现日历效果
2020/03/02 Javascript
[01:34]DAC2018主赛事第四日五佳镜头 Gh巨牙海民助Miracle-死里逃生
2018/04/07 DOTA
简单理解Python中的装饰器
2015/07/31 Python
python实现基于SVM手写数字识别功能
2020/05/27 Python
通过Py2exe将自己的python程序打包成.exe/.app的方法
2018/05/26 Python
Python实现微信小程序支付功能
2019/07/25 Python
python 3.6.7实现端口扫描器
2019/09/04 Python
python list多级排序知识点总结
2019/10/23 Python
python打印文件的前几行或最后几行教程
2020/02/13 Python
HTML5 解析规则分析
2009/08/14 HTML / CSS
什么是GWT的Entry Point
2013/08/16 面试题
事假请假条范文
2014/04/11 职场文书
教师中国梦演讲稿
2014/04/23 职场文书
抽样调查项目计划书
2014/04/24 职场文书
技术岗位竞聘演讲稿
2014/05/16 职场文书
商业企业管理专业求职信
2014/07/10 职场文书
丧事答谢词
2015/01/05 职场文书
导游带团欢迎词
2015/09/30 职场文书
入党心得体会
2019/06/20 职场文书
2019 入党申请书范文
2019/07/10 职场文书
python文本处理的方案(结巴分词并去除符号)
2021/05/26 Python