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.ui.progressbar 中文文档
Nov 26 Javascript
Google排名中的10个最著名的 JavaScript库
Apr 27 Javascript
利用函数的惰性载入提高javascript代码执行效率
May 05 Javascript
wap图片滚动特效无css3元素纯js脚本编写
Aug 22 Javascript
JavaScript学习笔记之定时器
Jan 22 Javascript
jquery实现最简单的滑动菜单效果代码
Sep 12 Javascript
JS实现网页每隔3秒弹出一次对话框的方法
Nov 09 Javascript
javascript 解决浏览器不支持的问题
Sep 24 Javascript
vue toggle做一个点击切换class(实例讲解)
Mar 13 Javascript
用vuex写了一个购物车H5页面的示例代码
Dec 04 Javascript
详解node登录接口之密码错误限制次数(含代码)
Oct 25 Javascript
原生JavaScript写出Tabs标签页的实例代码
Jul 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 上一篇,下一篇文章实现代码与原理说明
2010/05/09 PHP
PHP开发需要注意的安全问题
2010/09/01 PHP
PHP获取远程图片并保存到本地的方法
2015/05/12 PHP
jQuery+PHP发布的内容进行无刷新分页(Fckeditor)
2015/10/22 PHP
PHP实现仿百度文库,豆丁在线文档效果(word,excel,ppt转flash)
2016/03/10 PHP
IE中JS跳转丢失referrer问题的2个解决方法
2014/07/18 Javascript
JavaScript实现彩虹文字效果的方法
2015/04/16 Javascript
原生javascript实现匀速运动动画效果
2016/02/26 Javascript
jQuery实现输入框邮箱内容自动补全与上下翻动显示效果【附demo源码下载】
2016/09/20 Javascript
javascript history对象详解
2017/02/09 Javascript
详解angular ui-grid之过滤器设置
2017/06/07 Javascript
[js高手之路]图解javascript的原型(prototype)对象,原型链实例
2017/08/28 Javascript
vue3.0 CLI - 2.2 - 组件 home.vue 的初步改造
2018/09/14 Javascript
Vue-cli3.x + axios 跨域方案踩坑指北
2019/07/04 Javascript
vue实现两个区域滚动条同步滚动
2020/12/13 Vue.js
[01:05:36]VP vs TNC Supermajor小组赛B组 BO3 第二场 6.2
2018/06/03 DOTA
Python的动态重新封装的教程
2015/04/11 Python
python 实现上传图片并预览的3种方法(推荐)
2017/07/14 Python
Python使用asyncio包处理并发详解
2017/09/09 Python
基于Python和Scikit-Learn的机器学习探索
2017/10/16 Python
django orm 通过related_name反向查询的方法
2018/12/15 Python
Python 统计位数为偶数的数字代码详解
2020/03/15 Python
TensorFlow2.X使用图片制作简单的数据集训练模型
2020/04/08 Python
Python 为什么推荐蛇形命名法原因浅析
2020/06/18 Python
virtualenv介绍及简明教程
2020/06/23 Python
用python 绘制茎叶图和复合饼图
2021/02/26 Python
css3的@media属性实现页面响应式布局示例代码
2014/02/10 HTML / CSS
标记环介质访问控制协议
2016/03/27 面试题
电焊工工作岗位职责
2014/02/06 职场文书
学校食品安全实施方案
2014/06/14 职场文书
英语课前三分钟演讲稿(6篇)
2014/09/13 职场文书
办公室班子四风问题对照检查材料
2014/10/04 职场文书
2015年校长新年寄语
2014/12/08 职场文书
党的群众路线教育实践活动先进个人材料
2014/12/24 职场文书
跳高加油稿
2015/07/21 职场文书
5个pandas调用函数的方法让数据处理更加灵活自如
2022/04/24 Python