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 相关文章推荐
静态页面的值传递(三部曲)
Sep 25 Javascript
jquery对表单操作2
Apr 06 Javascript
js中传递特殊字符(+,&amp;)的方法
Jan 16 Javascript
JavaScript+html5 canvas绘制渐变区域完整实例
Jan 26 Javascript
JavaScript的设计模式经典之代理模式
Feb 24 Javascript
js 定义对象数组(结合)多维数组方法
Jul 27 Javascript
基于js中的原型(全面讲解)
Sep 19 Javascript
图片加载完成再执行事件的实例
Nov 16 Javascript
微信小程序激励式视频广告组件使用详解
Dec 06 Javascript
uni-app从安装到卸载的入门教程
May 15 Javascript
js实现幻灯片轮播图
Aug 14 Javascript
Vue组件简易模拟实现购物车
Dec 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
欧美媒体选出10年前最流行的17部动画
2017/01/18 日漫
预告映像公开!第1章续篇剧场版动画《Princess Principal Crown Handler》4月10日上映!
2020/03/06 日漫
PHP XML备份Mysql数据库
2009/05/27 PHP
php INI配置文件的解析实现分析
2011/01/04 PHP
Laravel自动生成UUID,从建表到使用详解
2019/10/24 PHP
HTML-CSS群中单选引发的“事件”
2007/03/05 Javascript
保证JavaScript和Asp、Php等后端程序间传值编码统一
2009/04/17 Javascript
TextArea设置MaxLength属性最大输入值的js代码
2012/12/21 Javascript
jquery重新播放css动画所遇问题解决
2013/08/21 Javascript
jquery和雅虎的yql服务实现天气预报服务示例
2014/02/08 Javascript
jquery禁用右键示例
2014/04/28 Javascript
基于jquery css3实现点击动画弹出表单源码特效
2015/08/31 Javascript
axios对请求各种异常情况处理的封装方法
2018/09/25 Javascript
JavaScript Reflect Metadata实现详解
2019/12/12 Javascript
python实现apahce网站日志分析示例
2014/04/02 Python
举例讲解Python中的迭代器、生成器与列表解析用法
2016/03/20 Python
Python Socket使用实例
2017/12/18 Python
python 编码规范整理
2018/05/05 Python
Python中类的创建和实例化操作示例
2019/02/27 Python
Django ModelForm组件使用方法详解
2019/07/23 Python
PHP统计代码行数的小代码
2019/09/19 Python
用python拟合等角螺线的实现示例
2019/12/27 Python
Python使用requests模块爬取百度翻译
2020/08/25 Python
Python 中如何写注释
2020/08/28 Python
pycharm实现猜数游戏
2020/12/07 Python
python 实现全球IP归属地查询工具
2020/12/18 Python
如何利用Python matplotlib绘制雷达图
2020/12/21 Python
英国领先的杂志订阅网站:Magazine.co.uk
2018/01/25 全球购物
土木工程个人自荐信范文
2013/11/30 职场文书
上班早退检讨书
2014/01/09 职场文书
应届生简历中的自我评价
2014/01/13 职场文书
党校培训自我鉴定范文
2014/04/10 职场文书
娱乐节目策划方案
2014/06/10 职场文书
竞选班干部演讲稿400字
2014/08/20 职场文书
奖学金个人总结
2015/03/04 职场文书
提档介绍信范文
2015/10/22 职场文书