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 相关文章推荐
简单的Jquery全选功能
Nov 07 Javascript
javascript中数组的concat()方法使用介绍
Dec 18 Javascript
js浮点数保留两位小数点示例代码(四舍五入)
Dec 26 Javascript
jquery中的工具使用方法$.isFunction, $.isArray(), $.isWindow()
Aug 09 Javascript
jQuery CSS3相结合实现时钟插件
Jan 08 Javascript
原生JS实现平滑回到顶部组件
Mar 16 Javascript
Jquery Easyui日历组件Calender使用详解(23)
Dec 18 Javascript
bootstrap 通过加减按钮实现输入框组功能
Nov 15 Javascript
详解ES6中的 Set Map 数据结构学习总结
Nov 06 Javascript
JS高阶函数原理与用法实例分析
Jan 15 Javascript
微信小程序基于movable-view实现滑动删除效果
Jan 08 Javascript
原生js实现自定义滚动条组件
Jan 20 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
php中防止伪造跨站请求的小招式
2011/09/02 PHP
Yii2增加验证码步骤详解
2016/04/25 PHP
浅谈PHP正则中的捕获组与非捕获组
2016/07/18 PHP
PHP 以POST方式提交XML、获取XML,解析XML详解及实例
2016/10/26 PHP
PHP面向对象中new self()与 new static()的区别浅析
2017/08/17 PHP
PHP实现二维数组(或多维数组)转换成一维数组的常见方法总结
2019/12/04 PHP
TP5框架实现自定义分页样式的方法示例
2020/04/05 PHP
PHPStorm 2020.1 调试 Nodejs的多种方法详解
2020/09/17 NodeJs
JQuery通过Ajax提交表单并返回结果
2011/07/31 Javascript
JavaScript字符串对象的concat方法实例(用于连接两个或多个字符串)
2014/10/16 Javascript
js实现文本框中输入文字页面中div层同步获取文本框内容的方法
2015/03/03 Javascript
JavaScript的Number对象的toString()方法
2015/12/18 Javascript
jQuery Select下拉框操作小结(推荐)
2016/07/22 Javascript
ES6概念 Symbol.keyFor()方法
2016/12/25 Javascript
jQuery给表格添加分页效果
2017/03/02 Javascript
Node.js如何响应Ajax的POST请求并且保存为JSON文件详解
2017/03/10 Javascript
详解nodejs爬虫程序解决gbk等中文编码问题
2017/04/06 NodeJs
基于layui table返回的值的多级嵌套的解决方法
2019/09/19 Javascript
微信小程序云函数添加数据到数据库的方法
2020/03/04 Javascript
windows7 32、64位下python爬虫框架scrapy环境的搭建方法
2018/11/29 Python
Pandas之ReIndex重新索引的实现
2019/06/25 Python
Django基础三之视图函数的使用方法
2019/07/18 Python
Python使用matplotlib绘制Logistic曲线操作示例
2019/11/28 Python
flask框架渲染Jinja模板与传入模板变量操作详解
2020/01/25 Python
如何提高python 中for循环的效率
2020/04/15 Python
Keras: model实现固定部分layer,训练部分layer操作
2020/06/28 Python
Python延迟绑定问题原理及解决方案
2020/08/04 Python
简述Html5 IphoneX 适配方法
2018/02/08 HTML / CSS
美国知名艺术画网站:Art.com
2017/02/09 全球购物
大学生物业管理求职信
2013/10/24 职场文书
学校十一活动方案
2014/02/01 职场文书
化学教育专业求职信
2014/07/08 职场文书
盲山观后感
2015/06/11 职场文书
毕业生求职自荐信(2016最新版)
2016/01/28 职场文书
对Golang中的FORM相关字段理解
2021/05/02 Golang
人民币符号
2022/02/17 杂记