JS中实现字符串和数组的相互转化

早上起来看了一道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);

实现的结果:

时间: 2024-10-14 20:43:13

JS中实现字符串和数组的相互转化的相关文章

JavaScript中的字符串和数组

js中操作字符串和操作数组是差不多的. 以下面的数组为例: var arr = ['e', 'c', 'r', 'o']; var arrnum = [6, 4, 23, 67]; 1.判断是否为数组 if(arr instanceof Array) { console.log(true); } if(Array.isArray(arr)) { //ECMAScript 5 console.log(true); } 2.格式化为字符串 console.log(arr.join(',')); 3.

js数字、字符串、数组之间的转化

1.数组转字符串 var a, b; a = new Array(0,1,2,3,4); b = a.join("-"); 2.字符串转数组 var s = "abc,abcd,aaa"; ss = s.split(","); 3.数字转字符串toString var i = 10; var s = i.toString(); 4.字符串转数字 parseInt(字符串) parseInt("ssss999"); //错误 输

JS中:json对象数组按对象属性排序

var array = [ {name: 'a', phone: 1}, {name: 'b', phone: 5}, {name: 'd', phone: 3}, {name: 'c', phone: 4} ] array.sort(getSortFun('desc', 'phone')); function getSortFun(order, sortBy) { var ordAlpah = (order == 'asc') ? '>' : '<'; var sortFun = new F

js字符串和数组的相互转化

一.数组转字符串 需要将数组元素用某个字符连接成字符串,示例代码如下: var a, b; a = new Array(0,1,2,3,4); b = a.join("-"); 二.字符串转数组 实现方法为将字符串按某个字符切割成若干个字符串,并以数组形式返回,示例代码如下: var s = "abc,abcd,aaa"; ss = s.split(",");// 在每个逗号(,)处进行分解. 我们来看点高级的应用: 例如怎么把一个字符串每两个之

黑马程序员-OC加强学习日记-Foundation框架中的字符串和数组

------- ios培训. android培训.java培训.期待与您交流! ---------- 一.Foundation框架 1.概念:框架是由许多类.方法.函数.文档按照一定的逻辑组织起来的集合,以便使研发程序变得更容易. 为所有程序开发奠定基础的框架称为Foundation框架 2.使用:要想使用Foundation框架中的功能,包含它的主文件即可 #import <Foundation/Foundation.h> 二.NSString: 不可变字符串类   一个NSString对象

关于js中的字符串方法和数组方法总结

最近学习进度很紧张,每天要吸收的知识很多,对于之前学习过的知识有点淡忘,为了巩固之前的所学知识,总结一篇关于字符串和数组的方法. 关于字符串的知识总结 str.charAt(position):找到指定索引位置的字符,找到了返回那一位字符,没找到,返回空字符,返回值是string str.charCodeAt(position):找到指定索引位置字符的unicode码,找到了返回该字符的Unicode码,没找到返回NAN,返回值number String.fromCharCode(Unicode

JS中split用法和数组中元素的删除

JS中split用法 <script language="javascript"> function spli(){ datastr="2,2,3,5,6,6"; var str= new Array(); str=datastr.split(","); for (i=0;i<str.length ;i++ ) { document.write(str[i]+"<br/>"); } } spli(

JS中把字符串转成JSON对象的方法

在JS中,把 json 格式的字符串转成JSON对象,关键代码 json = eval('('+str+')'); <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml

在JS中,对象和数组的区别理解

学习js一段时间,一度搞不清楚“数组”和对象的根本区别.二者都可以用来表示数据的集合. 比如说一个数组是a=[1,2,3,4],一个对象是a={0:1,1:2,2:3,3:4} 输出alert(a[1]),二者的输出结果相同.花了一点时间整理了我对对象和数组的理解. 区别一: 数组是有序数据的集合,而对象是无序数据的集合. 区别二: 数组的数据没有名称,只有下标,而对象的数据需要指定名称. 学过其他语言的人可能会提出“关联数组“是可以有名称的. 比如在js中,可以这样定义一个关联数组: a[“城