最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

js實現(xiàn)字符串和數(shù)組之間相互轉(zhuǎn)換操作

 更新時間:2016年01月12日 08:51:07   作者:gogoggo  
這篇文章主要介紹了js實現(xiàn)字符串和數(shù)組之間相互轉(zhuǎn)換操作的相關(guān)資料,感興趣的小伙伴們可以參考一下

本文實例介紹了javascript中字符串和數(shù)組的相互轉(zhuǎn)換方法,分享給大家供大家參考,具體內(nèi)容如下
字符串和數(shù)組的相互轉(zhuǎn)換操作是非常的重要的,因為在實際編碼過程中會經(jīng)常用到,所以這是必須要掌握的知識點,當(dāng)然這個知識點并不難,知道了就永遠(yuǎn)知道了,并不是那種需要充分實踐才能夠掌握的東西,下面就做一下簡單的介紹。
一.字符串轉(zhuǎn)換為數(shù)組
此操作會用到split()函數(shù),它能夠以指定的字符作為分隔符,將字符串轉(zhuǎn)換成一個數(shù)組,實例代碼如下:

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

由輸出的結(jié)果可以看出,split()函數(shù)已經(jīng)將字符串轉(zhuǎn)換成一個數(shù)組。
二.將數(shù)組轉(zhuǎn)換為字符串
此操作可以使用Array對象的join()函數(shù)來實現(xiàn),此函數(shù)可以將數(shù)組中的元素以指定的字符連接起來,然后返回產(chǎn)生的字符串。
代碼如下: 

var newArray=["abc","mng","zhang","mayi"];
var Str=newArray.join("-");
console.log(Str); 

以上代碼實現(xiàn)了我們的要求,使用"-"將數(shù)組元素連接了起來,并生成了一個字符串。
上面的兩個例子都是使用的自帶的函數(shù),當(dāng)然我們也可以自己寫,這樣靈活性更大,并且知根知底。
三.自定義字符串轉(zhuǎn)換為數(shù)組

function StringToArray(str,substr) 
{ 
 var arrTmp=new Array(); 
 if(substr=="") 
 { 
 arrTmp.push(str); 
 return arrTmp; 
 } 
 var i=0,j=0,k=str.length; 
 while(i<k) 
 { 
 j=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);

以上代碼同樣實現(xiàn)了將字符串轉(zhuǎn)換為數(shù)組的功能,下面對代碼進(jìn)行一下注釋:
代碼注釋:
1.function StringToArray(str,substr){},此函數(shù)用來進(jìn)行轉(zhuǎn)化,str是要被轉(zhuǎn)換的字符串,substr是分隔符。
2. var arrTmp=new Array(),聲明一個數(shù)組,用來存放分割的字符串片段。
3.if(substr=="") {arrTmp.push(str);return arrTmp;},如果字符串分隔符為空,那么就將整個字符串放入數(shù)組。
4. var i=0,j=0,k=str.length;聲明三個變量,并賦初值,k的值是字符串中字符的個數(shù)。
5.while(i<k){},一個while循環(huán)語句,執(zhí)行的條件是i的值小于k也就是小于字符串中字符的個數(shù)。
6.j=str.indexOf(substr,i),用來檢測分隔符在字符串出現(xiàn)的位置,如果indexOf()函數(shù)帶有兩個參數(shù)的,第二個參數(shù)是查找指定字符開始的位置,這段代碼要結(jié)合下面的代碼理解。
7.if(j!=-1),如果查找的分隔符存在。
8.if(str.substring(i,j)!=""){},截取從開始查找位置到查找到第一個分隔符之間的字符串。
9.arrTmp.push(str.substring(i,j));,將截取的字符串放入數(shù)組。
10.i=j+1;將開始查找的位置設(shè)置為分隔符的下一個字符。
11.else{},如果沒有查找。
12.if(str.substring(i,k)!=""){arrTmp.push(str.substring(i,k));},如果最后一個分隔符之后的字符不為空,那么就添加到數(shù)組。
13.i=k,將i設(shè)置為k,這樣循環(huán)就停止了。
14.return arrTmp; 返回數(shù)組。
相關(guān)知識:
1.push()方法的定義和用法:
此方法可以給指定的數(shù)組末尾追加一個或者多個新的元素,并返回數(shù)組的長度。
注:新元素是直接追加到原有的數(shù)組,而不是創(chuàng)建新的數(shù)組。
點擊可參閱數(shù)組更多屬性和方法。
語法結(jié)構(gòu):
arrayObject.push(元素一,元素二,....,元素N)

參數(shù)列表:
參數(shù) 描述
參數(shù)(一...N) 必需。要被追加的新元素。

實例代碼:

var a = [1,2,3];
console.log(a.push("zhang","dao"));

2.indexOf()方法的定義和用法:
此方法返回指定的字符串在字符串中首次出現(xiàn)的位置。
如果沒有檢索到相應(yīng)的字符串,返回值是-1。
注:此方法對大小寫敏感。
語法結(jié)構(gòu):
stringObject.indexOf(substring,startindex)

實例代碼:

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

b在字符串a(chǎn)bcdefg中第二個出現(xiàn)。輸出結(jié)果:1。

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

此方法對大小寫敏感的,所以字符串a(chǎn)bcdefg中并沒有大寫的B出現(xiàn)。輸出結(jié)果:-1。

var a=new String("abcdefg")
console.log(a.indexOf("e",4));

檢索開始的位置是4,字符串首次出現(xiàn)的位置還是從字符串的起始開始計算的。輸出結(jié)果:4。

 3.substring()函數(shù)。

四.自定義數(shù)組轉(zhuǎn)換為字符串

function ArrayToString(arr,str) 
{ 
 var strTmp=""; 
 for(var i=0;i<arr.length;i++) 
 { 
 if(arr[i]!="") 
 { 
  if(strTmp=="") 
  { 
  strTmp = arr[i]; 
  } 
  else
  { 
  strTmp=strTmp+str+arr[i]; 
  } 
 } 
 } 
 return strTmp; 
}
var newArray=["abc","mng","zhang","mayi"]; 
console.log(ArrayToString(newArray,"-"));

以上代碼實現(xiàn)了我們的要求,可以將數(shù)組轉(zhuǎn)換為字符串,下面對代碼進(jìn)行一下注釋:
代碼注釋:
1.function ArrayToString(arr,str){},第一個參數(shù)是數(shù)組,第二個參數(shù)是連接字符串。
2.var strTmp="",聲明一個空字符串。
3.for(var i=0;i<arr.length;i++) {},遍歷數(shù)組中的每一個元素。
4.f(arr!=""){}如果數(shù)組元素不為空。
5.if(strTmp=="") {strTmp=arr;},如果字符串中也為空,那么就將數(shù)組中的此元素賦值給字符串strTmp。
6.else{strTmp=strTmp+str+arr},否則進(jìn)行字符串連接。
7.return strTmp,返回轉(zhuǎn)換后的字符串。

以上就是js實現(xiàn)字符串和數(shù)組之間相互轉(zhuǎn)換的詳細(xì)代碼,希望對大家的學(xué)習(xí)有所幫助。

相關(guān)文章

  • 在Koa.js中實現(xiàn)文件上傳的接口功能

    在Koa.js中實現(xiàn)文件上傳的接口功能

    這篇文章主要介紹了在Koa.js中實現(xiàn)文件上傳的接口功能,本文給大家介紹的非常詳細(xì),具有一定的參考借鑒價值,需要的朋友可以參考下
    2019-10-10
  • JavaScript同步與異步任務(wù)問題詳解

    JavaScript同步與異步任務(wù)問題詳解

    這篇文章主要介紹了JavaScript事件循環(huán)同步任務(wù)與異步任務(wù),文章圍繞主題展開詳細(xì)的內(nèi)容介紹,具有一定的參考價值,需要的朋友可以參考一下
    2022-07-07
  • JavaScript實現(xiàn)新年倒計時效果

    JavaScript實現(xiàn)新年倒計時效果

    這篇文章主要為大家詳細(xì)介紹了JavaScript實現(xiàn)新年倒計時效果,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-11-11
  • canvas學(xué)習(xí)之API整理筆記(一)

    canvas學(xué)習(xí)之API整理筆記(一)

    本文主要介紹了canvas的相關(guān)知識。canvas本身很簡單,就是去學(xué)習(xí)它的API,多看實例,多自己動手練習(xí),多總結(jié)。本文介紹了很多小例,具有一定的參考價值,下面跟著小編一起來看下吧
    2016-12-12
  • JavaScript canvas仿代碼流瀑布

    JavaScript canvas仿代碼流瀑布

    這篇文章主要為大家詳細(xì)介紹了JavaScript canvas仿代碼流瀑布,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2020-02-02
  • javascript省市級聯(lián)功能實現(xiàn)方法實例詳解

    javascript省市級聯(lián)功能實現(xiàn)方法實例詳解

    這篇文章主要介紹了javascript省市級聯(lián)功能實現(xiàn)方法,以不同實例形式分析了JavaScript實現(xiàn)省市級聯(lián)菜單的具體技巧,具有一定參考借鑒價值,需要的朋友可以參考下
    2015-10-10
  • 老生常談JavaScript中的this關(guān)鍵字

    老生常談JavaScript中的this關(guān)鍵字

    相對于很多其他的面向?qū)ο笳Z言來說,this代表的就是當(dāng)前對象。本篇文章通過實例給大家介紹js中的this關(guān)鍵字,感興趣的朋友一起看看吧
    2016-10-10
  • javascript實現(xiàn)圖片左右滾動效果【可自動滾動,有左右按鈕】

    javascript實現(xiàn)圖片左右滾動效果【可自動滾動,有左右按鈕】

    這篇文章主要介紹了javascript實現(xiàn)圖片左右滾動效果,可實現(xiàn)自動滾動,帶有左右按鈕功能,基于插件scrollPic.js實現(xiàn),附帶了相應(yīng)的demo源碼供讀者下載參考,需要的朋友可以參考下
    2016-09-09
  • JavaScript中Cookie的使用之如何設(shè)置失效時間

    JavaScript中Cookie的使用之如何設(shè)置失效時間

    這篇文章主要介紹了JavaScript中Cookie的使用之如何設(shè)置失效時間問題,具有很好的參考價值,希望對大家有所幫助。
    2022-12-12
  • 旺旺在線客服代碼 旺旺客服代碼生成器

    旺旺在線客服代碼 旺旺客服代碼生成器

    很多朋友想在網(wǎng)站上插入自己的阿里旺旺在線聯(lián)系圖片,就像是和QQ一樣,小編為大家詳細(xì)講解了旺旺在線客服代碼以及旺旺客服代碼生成器,希望能夠幫助到大家。
    2018-01-01

最新評論

皋兰县| 石城县| 芜湖县| 铜川市| 科尔| 泗洪县| 新泰市| 大方县| 花垣县| 读书| 合阳县| 长丰县| 杂多县| 天等县| 金沙县| 墨江| 新乡县| 罗山县| 柳江县| 柘城县| 咸丰县| 西畴县| 嘉禾县| 会理县| 明星| 封开县| 永寿县| 乌什县| 措美县| 进贤县| 水富县| 通辽市| 太和县| 成都市| 镇原县| 南汇区| 虞城县| 宝山区| 马龙县| 日土县| 长汀县|