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 相关文章推荐
如何在Web页面上直接打开、编辑、创建Office文档
Mar 12 Javascript
javascript函数中的arguments参数
Aug 01 Javascript
jQuery Mobile页面跳转后未加载外部JS原因分析及解决
Mar 18 Javascript
jQuery基于ajax()使用serialize()提交form数据的方法
Dec 08 Javascript
JS随机洗牌算法之数组随机排序
Mar 23 Javascript
bootstrap3 dialog 更强大、更灵活的模态框
Apr 20 Javascript
基于bootstrop常用类总结(推荐)
Sep 11 Javascript
JS中appendChild追加子节点无效的解决方法
Oct 14 Javascript
微信自定义分享链接信息(标题,图片和内容)实现过程详解
Sep 04 Javascript
Vue.set 全局操作简单示例
Sep 19 Javascript
解决Vue打包上线之后部分CSS不生效的问题
Nov 12 Javascript
js页面加载后执行的几种方式小结
Jan 30 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
实现树状结构的两种方法
2006/10/09 PHP
PHP中如何实现常用邮箱的基本判断
2014/01/07 PHP
php简单定时执行任务的实现方法
2015/02/23 PHP
ThinkPHP框架里隐藏index.php
2016/04/12 PHP
Thinkphp 空操作、空控制器、命名空间(详解)
2017/05/05 PHP
PHP单例模式与工厂模式详解
2017/08/29 PHP
JQUERY THICKBOX弹出层插件
2008/08/30 Javascript
JQuery 1.4 中的Ajax问题
2010/01/23 Javascript
js保留两位小数使用toFixed实现
2013/07/29 Javascript
jquery按回车提交数据的代码示例
2013/11/05 Javascript
js实现延时加载Flash的方法
2015/11/26 Javascript
JavaScript函数内部属性和函数方法实例详解
2016/03/17 Javascript
jQuery Mobile和HTML5开发App推广注册页
2016/11/07 Javascript
JS作用域闭包、预解释和this关键字综合实例解析
2016/12/16 Javascript
JavaScript输入框字数实时统计更新
2017/06/17 Javascript
Angular4学习笔记之准备和环境搭建项目
2017/08/01 Javascript
微信小程序开发教程之增加mixin扩展
2017/08/09 Javascript
了解Javascript中函数作为对象的魅力
2019/06/19 Javascript
nodejs开发一个最简单的web服务器实例讲解
2020/01/02 NodeJs
Openlayers学习之加载鹰眼控件
2020/09/28 Javascript
JavaScript字符串转数字的简单实现方法
2020/11/27 Javascript
python插入排序算法的实现代码
2013/11/21 Python
深入学习Python中的装饰器使用
2016/06/20 Python
如何使用VSCode愉快的写Python于调试配置步骤
2018/04/06 Python
python自定义时钟类、定时任务类
2021/02/22 Python
Python如何基于Tesseract实现识别文字功能
2020/06/05 Python
解决Python3.8运行tornado项目报NotImplementedError错误
2020/09/02 Python
linux mint中搜狗输入法导致pycharm卡死的问题
2020/10/28 Python
requests在python中发送请求的实例讲解
2021/02/17 Python
css3 flex布局 justify-content:space-between 最后一行左对齐
2020/01/02 HTML / CSS
迟到检讨书900字
2014/01/14 职场文书
年终总结会主持词
2014/03/25 职场文书
政治思想表现评语
2014/05/04 职场文书
企业员工辞职信范文
2015/05/12 职场文书
初中历史教学反思
2016/02/19 职场文书
Ruby使用Mysql2连接操作MySQL
2022/04/19 Ruby