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中自定义对象的属性方法分享
Jul 12 Javascript
js获取判断上传文件后缀名的示例代码
Feb 19 Javascript
ff chrome和ie下全局动态定位的异同及全局高度的取法
Jun 30 Javascript
JavaScript中的lastIndexOf()方法使用详解
Jun 06 Javascript
全面解析Bootstrap图片轮播效果
Dec 03 Javascript
轻松使用jQuery双向select控件Bootstrap Dual Listbox
Dec 13 Javascript
基于jQuery实现交互体验社会化分享代码附源码下载
Jan 04 Javascript
AngularJS基础 ng-options 指令详解
Aug 02 Javascript
js for循环倒序输出数组元素的实例
Mar 01 Javascript
简单的网页广告特效实例
Aug 19 Javascript
重新认识vue之事件阻止冒泡的实现
Aug 02 Javascript
浅谈angularJs函数的使用方法(大小写转换,拷贝,扩充对象)
Oct 08 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
备份mysql数据库的php代码(一个表一个文件)
2010/05/28 PHP
php_screw安装使用教程(另一个PHP代码加密实现)
2014/05/29 PHP
PHP7新功能总结
2019/04/14 PHP
Javascript Select操作大集合
2009/05/26 Javascript
jQuery第三课 修改元素属性及内容的代码
2010/03/14 Javascript
js导出table到excel同时兼容FF和IE示例
2013/09/03 Javascript
js中文逗号转英文实现
2014/02/11 Javascript
jquery实现动态改变div宽度和高度
2015/05/08 Javascript
jQuery Easyui实现左右布局
2016/01/26 Javascript
Nodejs学习item【入门手上】
2016/05/05 NodeJs
JavaScript根据CSS的Media Queries来判断浏览设备的方法
2016/05/10 Javascript
jQuery简单实现iframe的高度根据页面内容自适应的方法
2016/08/01 Javascript
JavaScript中常用的验证reg
2016/10/13 Javascript
vue移动端微信授权登录插件封装的实例
2018/08/28 Javascript
JS实现数组去重及数组内对象去重功能示例
2019/02/02 Javascript
详解vue中router-link标签所必备了解的属性
2019/04/15 Javascript
layer.open回调获取弹出层参数的实现方法
2019/09/10 Javascript
Python中os.path用法分析
2015/01/15 Python
python实现将元祖转换成数组的方法
2015/05/04 Python
python实现的希尔排序算法实例
2015/07/01 Python
Python自动化测试Eclipse+Pydev 搭建开发环境
2016/08/15 Python
pyshp创建shp点文件的方法
2018/12/31 Python
Html5定位终极解决方案
2020/02/05 HTML / CSS
最好的意大利皮夹克:D’Arienzo
2018/12/04 全球购物
Linux内核的同步机制是什么?主要有哪几种内核锁
2016/07/11 面试题
J2EE包括哪些技术
2016/11/25 面试题
军人违纪检讨书
2014/02/04 职场文书
《生命的药方》教学反思
2014/04/08 职场文书
个人合伙协议书范本
2014/10/14 职场文书
学生旷课检讨书500字
2014/10/28 职场文书
介绍信应该怎么开?
2019/04/03 职场文书
世界上超棒的8种逻辑思维
2019/08/06 职场文书
SQLServer2019 数据库的基本使用之图形化界面操作的实现
2021/04/08 SQL Server
死磕 java同步系列之synchronized解析
2021/06/28 Java/Android
实现一个简单得数据响应系统
2021/11/11 Javascript
mongoDB数据库索引快速入门指南
2022/03/23 MongoDB