JS中实现字符串和数组的相互转化
早上起来看了一道js的面试题,是这样描述的:利用var s1=prompt("请输入任意的字符串","")可以获取用户输入
的字符串,试编程将用户输入的字符串“反转”,并且将字符串输出。
想了一下,字符串对象的方法中并没有实现反转的,但是数组中有,于是考虑了字符串和数组的相互转换问题。
JS中的内置对象中包括字符串对象(String)和数组对象(Array),这两个对象是可以通过它们对象的方法实现相互
转化的。对于String对象,提供了对字符串进行操作的属性和方法;对于Array对象,提供了数组操作方面的属性和方
法。因此我们实现上面的面试题就容易了。
一首先来看字符串转化为数组
String对象中的split()方法
上述方法的功能是:将一个字符串切割成若干段,返回一个数组。也就是说,可以将一个字符串转成数值。如:
strObj.split(分割号),参数是一个分割号的字符串,用指定的分割号将字符串切成若干段。
实例:
- <span style="font-size:18px;">//要求输出今天是星期几
- //定义一个星期字符串
- 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]);</span>
输出的结果是:类型是:object,数组的第一个元素是:星期日
今天是:星期五
二再来看数组转换为字符串和数组元素实现反转
Array对象的join()方法
上述方法的功能是:将一个数组转成字符串。如:arrObj.join(连接号),将一个数组用指定的连接号链接成一个字
符串。
实例:
- <span style="font-size:18px;">var arr=["a","b","c"];
- var str=arr.join("-");
- document.write("类型是:"+typeof(str)+",字符串是:"+str);</span>
输出的结果是:类型是:string,字符串是:a-b-c
Array对象的reverse()方法
上述方法的功能是:将数组中各元素颠倒顺序。如:arrObj.reverse()。
实例:
- <span style="font-size:18px;">var arr=["a","b","c"];
- arr.reverse();
- document.write(arr);</span>
输出的结果是:c,b,a
三最后我们来看面试题的实现代码:
- <span style="font-size:18px;">/*
- 利用var s1=prompt("请输入任意的字符串","")可以获取用户输入
- 的字符串,试编程将用户输入的字符串“反转”,并且将字符串输出。
- */
- //接受字符串
- var s1=prompt("请输入任意的字符串","");
- //字符串转换为数组
- var arr=s1.split("");
- //利用数组对象的reverse()方法实现反转
- arr.reverse();
- //利用数组的join()方法转换为字符串
- var str=arr.join("");
- document.write(str);</span>
实现的结果:
JS中实现字符串和数组的相互转化的更多相关文章
- js中构造字符串若放入Grails中gsp的<g:link>标签出错
Grails的ajax使用json格式返回,在js中构造字符串时若放入<g:link>标签,字符串构造就会错误 如下就会发生错误,导致回调函数无法执行 function show(obj) ...
- js中Json字符串如何转成Json对象(4种转换方式)
js中Json字符串如何转成Json对象(4种转换方式) 一.总结 一句话总结:原生方法(就是浏览器默认支持的方法) 浏览器支持的转换方式(Firefox,chrome,opera,safari,ie ...
- JS中字符串和数组的相互转化
题目:利用var s1=prompt("请输入任意的字符串:") ,可以获取用户输入的字符串,试编程将用户输入的字符串“反转”,并且将字符串输出. 思路:字符串对象的方法中并没有实 ...
- js字符串和数组的相互转化
一.数组转字符串 需要将数组元素用某个字符连接成字符串,示例代码如下: var a, b; a = new Array(0,1,2,3,4); b = a.join("-"); 二 ...
- js 中对字符串的操作
1.split() split() 方法用于把一个字符串分割成字符串数组. 用法:stringObject.split(separator,howmany) separator:必选,类型为字符串或者 ...
- js中的对象与数组
js对象与数组是js中最基本的概念, 定义对象时可用 var a = {} 定义一个空对象 定义数组时可用 var a = [] 定义一个空字符串.. 在对象中只是存在属性,属性与值之间用" ...
- js 中 一些重要的数组方法
今天在学Vue的时候,看到了好多JS的数组方法,但是我不知道,我以为是Vue的方法,结果找了半天资料也没找出来,最后才发现这是JS的数组对象方法,于是就想做一下笔记,加深一下印象. Array 对象方 ...
- JS中把字符串转成JSON对象的方法
在JS中,把 json 格式的字符串转成JSON对象,关键代码 json = eval('('+str+')'); <!DOCTYPE html PUBLIC "-//W3C//DTD ...
- JS中清空字符串前后空格
在JS 操作的时候 长期会有对字符串的操作, 但是在JS 中不像在C#中 有字符串的方法 Trim() 来对字符串进行处理 . 所以自己写一个对字符串前后清楚空格的方法还是有必要的 以免以后忘记了 ...
随机推荐
- out与ref修饰符
out修饰符 定义 作用 使用注意 总结 定义 out意为output,所以被out修饰的参数叫做输出参数. 通过使用out修饰的参数,方法可以返回对应参数的值 作用 先看一个例子 定义变量: ...
- Java 如何获取系统时间
Java 如何获取系统时间 import java.text.SimpleDateFormat; import java.util.Date; public class Test { public s ...
- 基于ZooKeeper实现——分布式锁与实现
引言 ZooKeeper是一个分布式的,开放源码的分布式应用程序协调服务,是Google的Chubby一个开源的实现,是Hadoop和Hbase的重要组件.它是一个为分布式应用提供一致性服务的软件,提 ...
- 【WPF】自定义控件之远程图片浏览
using System; using System.Collections.Generic; using System.IO; using System.Linq; using System.Tex ...
- (9) go 时间日期
1. var t = time.Now() println(t.String())//2019-04-26 13:38:02.5100554 +0800 CST m=+0.000000001 2. 月 ...
- EL和JSTL的关系
JSTL与EL的关系:EL的功能是有限的,去集合只能取特定的某一个元素,如果遍历或循环就不行了,或者添加一些条件分支判断也不行,或做一些格式化,比如日期的格式化,数字的格式化,也不行,所以要做这些功能 ...
- Luogu P3962 [TJOI2013]数字根 st
题面 我先对数字根打了个表,然后得到了一个结论:\(a\)的数字根=\((a-1)mod 9+1\) 我在询问大佬后,大佬给出了一个简单的证明: \(\because 10^n\equiv 1(mod ...
- HNOI2017滚粗记
DAY0: 高三学长说了考前要么就完全颓废要么就完全学,所以我们就完全开启了颓废模式.上午教练带队去烈士公园游玩,中途机房歌神和QYS一直在谈论如何用LCT动态维护树的直径,ORZORZORZ.... ...
- [CC-SEABUB]Sereja and Bubble Sort
[CC-SEABUB]Sereja and Bubble Sort 题目大意: 一个\(n(n\le100)\)个数的排列\(A\),有两种操作: 交换两个相邻元素: 等概率随机打乱整个序列. 最多执 ...
- Arab Collegiate Programming Contest 2012 J- Math Homework
思路:由于只有1-6这几个数,而这几个数的最小公倍数是60,所以只需要求出60以内有多少满足条件的数即可. 再就是求出对于给定的n,求出60的倍数.然后就是怎样求的问题了. 首先可以写成如下形式: ...