国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發 > JS > 正文

js實現字符串和數組之間相互轉換操作

2024-05-06 16:27:39
字體:
來源:轉載
供稿:網友
這篇文章主要介紹了js實現字符串和數組之間相互轉換操作的相關資料,感興趣的小伙伴們可以參考一下
 

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

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

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

var newArray=["abc","mng","zhang","mayi"];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(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);

以上代碼同樣實現了將字符串轉換為數組的功能,下面對代碼進行一下注釋:
代碼注釋:
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(i<k){},一個while循環語句,執行的條件是i的值小于k也就是小于字符串中字符的個數。
6.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","dao"));

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,字符串首次出現的位置還是從字符串的起始開始計算的。輸出結果:4。

 3.substring()函數。

四.自定義數組轉換為字符串

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,"-"));

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

以上就是js實現字符串和數組之間相互轉換的詳細代碼,希望對大家的學習有所幫助。



注:相關教程知識閱讀請移步到JavaScript/Ajax教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 娄底市| 唐海县| 开鲁县| 寻乌县| 永济市| 通山县| 深州市| 中牟县| 阿拉尔市| 营山县| 宜春市| 洱源县| 开化县| 麻城市| 炎陵县| 湘乡市| 长治县| 江山市| 文成县| 大埔县| 岫岩| 浏阳市| 潼南县| 永安市| 崇左市| 彰化县| 九江市| 陆河县| 吴川市| 乡宁县| 郎溪县| 上林县| 庐江县| 牡丹江市| 明水县| 阳东县| 大洼县| 拉孜县| 大英县| 铁岭县| 河间市|