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脚本的性能的几个注意事项
Dec 22 Javascript
解决json日期格式问题的3种方法
Feb 02 Javascript
js实现图片上传并正常显示
Dec 19 Javascript
angularjs select 赋值 ng-options配置方法
Feb 28 Javascript
Webpack打包字体font-awesome的方法示例
Apr 26 Javascript
vue做移动端适配最佳解决方案(亲测有效)
Sep 04 Javascript
改变layer confirm弹窗按钮的颜色方法
Sep 12 Javascript
react实现同页面三级跳转路由布局
Sep 26 Javascript
vue实现全匹配搜索列表内容
Sep 26 Javascript
vue路由传参页面刷新参数丢失问题解决方案
Oct 08 Javascript
微信小程序中网络请求缓存的解决方法
Dec 29 Javascript
Vue-cli4 配置 element-ui 按需引入操作
Sep 11 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
DOTA2 玩家自创拉野攻略 特色英雄快速成长篇
2020/04/20 DOTA
php日期转时间戳,指定日期转换成时间戳
2012/07/17 PHP
FireFox浏览器使用Javascript上传大文件
2013/10/30 PHP
php判断当前操作系统类型
2015/10/28 PHP
PHP信号量基本用法实例详解
2016/02/12 PHP
php简单备份与还原MySql的方法
2016/05/09 PHP
php两点地理坐标距离的计算方法
2018/12/29 PHP
PHP使用Http Post请求发送Json对象数据代码解析
2020/07/16 PHP
[IE&amp;FireFox兼容]JS对select操作
2007/01/07 Javascript
JQuery 图片的展开和伸缩实例讲解
2013/04/18 Javascript
JS刷新当前页面的几种方法总结
2013/12/24 Javascript
JavaScript弹出新窗口并控制窗口移动到指定位置的方法
2015/04/06 Javascript
基于jPlayer三分屏的制作方法
2016/12/21 Javascript
5分钟打造简易高效的webpack常用配置
2017/07/04 Javascript
移动端效果之IndexList详解
2017/10/20 Javascript
深入理解js 中async 函数的含义和用法
2018/05/13 Javascript
Vue引用Swiper4插件无法重写分页器样式的解决方法
2018/09/27 Javascript
小程序input数据双向绑定实现方法
2019/10/17 Javascript
[02:27]《DAC最前线》之附加赛征程
2015/01/29 DOTA
[03:27]最受玩家喜爱奖提名:PZH_Element 致玩家寄语
2016/12/20 DOTA
下载给定网页上图片的方法
2014/02/18 Python
python中Switch/Case实现的示例代码
2017/11/09 Python
TF-IDF与余弦相似性的应用(一) 自动提取关键词
2017/12/21 Python
Pandas统计重复的列里面的值方法
2019/01/30 Python
Python字符串内置函数功能与用法总结
2019/04/16 Python
Django models.py应用实现过程详解
2019/07/29 Python
使用Rasterio读取栅格数据的实例讲解
2019/11/26 Python
pytorch快速搭建神经网络_Sequential操作
2020/06/17 Python
Python如何执行精确的浮点数运算
2020/07/31 Python
pytorch中index_select()的用法详解
2021/01/06 Python
全民健身日活动方案
2014/01/29 职场文书
社区工作者感言
2014/03/02 职场文书
党员作风建设自查报告
2014/10/23 职场文书
文明班级申报材料
2014/12/24 职场文书
学校教学工作总结2015
2015/05/19 职场文书
导游词之西递宏村
2019/12/10 职场文书