您好,欢迎来到爱站旅游。
搜索
您的当前位置:首页js实现字符串和数组之间相互转换操作

js实现字符串和数组之间相互转换操作

来源:爱站旅游
js实现字符串和数组之间相互转换操作

本⽂实例介绍了javascript中字符串和数组的相互转换⽅法,分享给⼤家供⼤家参考,具体内容如下

字符串和数组的相互转换操作是⾮常的重要的,因为在实际编码过程中会经常⽤到,所以这是必须要掌握的知识点,当然这个知识点并不难,知道了就永远知道了,并不是那种需要充分实践才能够掌握的东西,下⾯就做⼀下简单的介绍。⼀.字符串转换为数组

此操作会⽤到split()函数,它能够以指定的字符作为分隔符,将字符串转换成⼀个数组,实例代码如下:

var Str=\"abc-mng-zhang-mayi\";var newArray=Str.split(\"-\");console.log(newArray);

由输出的结果可以看出,split()函数已经将字符串转换成⼀个数组。⼆.将数组转换为字符串

此操作可以使⽤Array对象的join()函数来实现,此函数可以将数组中的元素以指定的字符连接起来,然后返回产⽣的字符串。代码如下:

var newArray=[\"abc\var Str=newArray.join(\"-\");console.log(Str);

以上代码实现了我们的要求,使⽤\"-\"将数组元素连接了起来,并⽣成了⼀个字符串。

上⾯的两个例⼦都是使⽤的⾃带的函数,当然我们也可以⾃⼰写,这样灵活性更⼤,并且知根知底。三.⾃定义字符串转换为数组

function StringToArray(str,substr) {

var arrTmp=new Array(); if(substr==\"\") {

arrTmp.push(str); return arrTmp; }

var i=0,j=0,k=str.length; while(ij=str.indexOf(substr,i); if(j!=-1) {

if(str.substring(i,j)!=\"\") {

arrTmp.push(str.substring(i,j)); }

i = j+1; } else {

if(str.substring(i,k)!=\"\") {

arrTmp.push(str.substring(i,k)); } i=k; } }

return arrTmp; }

var Str=\"abc-mng-zhang-mayi\";console.log(StringToArray(Str,\"-\"));

console.log(StringToArray(Str,\"-\").length);

以上代码同样实现了将字符串转换为数组的功能,下⾯对代码进⾏⼀下注释:代码注释:

1.function StringToArray(str,substr){},此函数⽤来进⾏转化,str是要被转换的字符串,substr是分隔符。2. var arrTmp=new Array(),声明⼀个数组,⽤来存放分割的字符串⽚段。

3.if(substr==\"\") {arrTmp.push(str);return arrTmp;},如果字符串分隔符为空,那么就将整个字符串放⼊数组。4. var i=0,j=0,k=str.length;声明三个变量,并赋初值,k的值是字符串中字符的个数。

5.while(i6.j=str.indexOf(substr,i),⽤来检测分隔符在字符串出现的位置,如果indexOf()函数带有两个参数的,第⼆个参数是查找指定字符开始的位置,这段代码要结合下⾯的代码理解。7.if(j!=-1),如果查找的分隔符存在。

8.if(str.substring(i,j)!=\"\"){},截取从开始查找位置到查找到第⼀个分隔符之间的字符串。9.arrTmp.push(str.substring(i,j));,将截取的字符串放⼊数组。10.i=j+1;将开始查找的位置设置为分隔符的下⼀个字符。11.else{},如果没有查找。

12.if(str.substring(i,k)!=\"\"){arrTmp.push(str.substring(i,k));},如果最后⼀个分隔符之后的字符不为空,那么就添加到数组。13.i=k,将i设置为k,这样循环就停⽌了。14.return arrTmp; 返回数组。相关知识:

1.push()⽅法的定义和⽤法:

此⽅法可以给指定的数组末尾追加⼀个或者多个新的元素,并返回数组的长度。注:新元素是直接追加到原有的数组,⽽不是创建新的数组。点击可参阅数组更多属性和⽅法。语法结构:

arrayObject.push(元素⼀,元素⼆,....,元素N)参数列表:参数 描述

参数(⼀...N) 必需。要被追加的新元素。实例代码:

var a = [1,2,3];

console.log(a.push(\"zhang\

2.indexOf()⽅法的定义和⽤法:

此⽅法返回指定的字符串在字符串中⾸次出现的位置。如果没有检索到相应的字符串,返回值是-1。注:此⽅法对⼤⼩写敏感。语法结构:

stringObject.indexOf(substring,startindex)实例代码:

var a=new String(\"abcdefg\")console.log(a.indexOf(\"b\"));

b在字符串abcdefg中第⼆个出现。输出结果:1。

var a=new String(\"abcdefg\")console.log(a.indexOf(\"B\"));

此⽅法对⼤⼩写敏感的,所以字符串abcdefg中并没有⼤写的B出现。输出结果:-1。

var a=new String(\"abcdefg\")console.log(a.indexOf(\"e\

检索开始的位置是4,字符串⾸次出现的位置还是从字符串的起始开始计算的。输出结果:4。 3.substring()函数。四.⾃定义数组转换为字符串

function ArrayToString(arr,str) {

var strTmp=\"\";

for(var i=0;iif(arr[i]!=\"\") {

if(strTmp==\"\") {

strTmp = arr[i]; } else {

strTmp=strTmp+str+arr[i]; } } }

return strTmp; }

var newArray=[\"abc\console.log(ArrayToString(newArray,\"-\"));

以上代码实现了我们的要求,可以将数组转换为字符串,下⾯对代码进⾏⼀下注释:

代码注释:1.function ArrayToString(arr,str){},第⼀个参数是数组,第⼆个参数是连接字符串。2.var strTmp=\"\",声明⼀个空字符串。

3.for(var i=0;i5.if(strTmp==\"\") {strTmp=arr;},如果字符串中也为空,那么就将数组中的此元素赋值给字符串strTmp。6.else{strTmp=strTmp+str+arr},否则进⾏字符串连接。7.return strTmp,返回转换后的字符串。

以上就是js实现字符串和数组之间相互转换的详细代码,希望对⼤家的学习有所帮助。

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- azee.cn 版权所有 赣ICP备2024042794号-5

违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务