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 相关文章推荐
js实现拖拽效果
Feb 12 Javascript
JS仿Windows开机启动Loading进度条的方法
Feb 26 Javascript
jQuery实现元素拖拽并cookie保存顺序的方法
Feb 20 Javascript
Javascript对象字面量的理解
Jun 22 Javascript
jQuery基于排序功能实现上移、下移的方法
Nov 26 Javascript
jQuery插件HighCharts实现的2D回归直线散点效果示例【附demo源码下载】
Mar 09 Javascript
jQuery实现倒计时功能 jQuery实现计时器功能
Sep 19 jQuery
微信小程序之数据缓存的实例详解
Sep 29 Javascript
浅谈vue-router 路由传参的方法
Dec 27 Javascript
详解微信UnionID作用
May 15 Javascript
taro开发微信小程序的实践
May 21 Javascript
如何编写一个 Webpack Loader的实现
Oct 18 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.ini 中文版
2006/10/28 PHP
基于PHP代码实现中奖概率算法可用于刮刮卡、大转盘等抽奖算法
2015/12/20 PHP
PHP一致性hash分布式算法封装类定义与用法示例
2018/08/04 PHP
php简单检测404页面的方法示例
2019/08/23 PHP
js中array的sort()方法使用介绍
2014/02/20 Javascript
Bootstrap Paginator分页插件与ajax相结合实现动态无刷新分页效果
2016/05/27 Javascript
简单的JS轮播图代码
2016/07/18 Javascript
JS制作图形验证码实现代码
2020/10/19 Javascript
JavaScript设计模式之单例模式详解
2017/06/09 Javascript
vue2 中如何实现动态表单增删改查实例
2017/06/09 Javascript
js实现手机web图片左右滑动效果
2017/12/29 Javascript
微信小程序实现默认第一个选中变色效果
2018/07/17 Javascript
详解a标签添加onclick事件的几种方式
2019/03/29 Javascript
记一次Vue.js混入mixin的使用(分权限管理页面)
2019/04/17 Javascript
Angular8基础应用之表单及其验证
2019/08/11 Javascript
微信小程序修改数组长度的问题的解决
2019/12/17 Javascript
如何使用 JavaScript 操作浏览器历史记录 API
2020/11/24 Javascript
[06:01]刀塔次级联赛top10第一期
2014/11/07 DOTA
[01:01:52]DOTA2-DPC中国联赛正赛 iG vs LBZS BO3 第一场 3月4日
2021/03/11 DOTA
python3.3教程之模拟百度登陆代码分享
2014/01/16 Python
Python实现读取txt文件并画三维图简单代码示例
2017/12/09 Python
Flask web开发处理POST请求实现(登录案例)
2018/07/26 Python
详解从Django Rest Framework响应中删除空字段
2019/01/11 Python
在交互式环境中执行Python程序过程详解
2019/07/12 Python
pyinstaller参数介绍以及总结详解
2019/07/12 Python
python多进程间通信代码实例
2019/09/30 Python
浅析关于Keras的安装(pycharm)和初步理解
2020/10/23 Python
python爬虫scrapy基本使用超详细教程
2021/02/20 Python
亚洲独特体验旅游专家:eOasia
2018/08/15 全球购物
Contém1g官网:巴西彩妆品牌
2020/01/17 全球购物
美国狗旅行和户外用品领先供应商:kurgo
2020/08/18 全球购物
意大利和国际奢侈品牌购物网站:Suitnegozi.com
2021/01/15 全球购物
个人自荐书
2013/12/20 职场文书
领导班子整改方案
2014/10/25 职场文书
质检员岗位职责
2015/02/03 职场文书
python DataFrame中stack()方法、unstack()方法和pivot()方法浅析
2022/04/06 Python