javascript中字串和陣列的相互轉換
字串和陣列的相互轉換操作是非常的重要的,因為在實際編碼過程中會經常用到,所以這是必須要掌握的知識點,當然這個知識點並不難,知道了就永遠知道了,並不是那種需要充分實踐才能夠掌握的東西,下面就做一下簡單的介紹。
一.字串轉換為陣列:
此操作會用到split()函式,它能夠以指定的字元作為分隔符,將字串轉換成一個陣列,例項程式碼如下:
[JavaScript] 純文字檢視 複製程式碼var Str="abc-mng-zhang-mayi"; var newArray=Str.split("-"); console.log(newArray);
由輸出的結果可以看出,split()函式已經將字串轉換成一個陣列。
二.將陣列轉換為字串:
此操作可以使用Array物件的join()函式來實現,此函式可以將陣列中的元素以指定的字元連線起來,然後返回產生的字串。
程式碼如下:
[JavaScript] 純文字檢視 複製程式碼var newArray=["abc","mng","zhang","mayi"]; var Str=newArray.join("-"); console.log(Str);
以上程式碼實現了我們的要求,使用"-"將陣列元素連線了起來,並生成了一個字串。
split()函式可以參閱JavaScript split()一章節。
join()函式可以參閱javascript join()一章節。
上面的兩個例子都是使用的自帶的函式,當然我們也可以自己寫,這樣靈活性更大,並且知根知底。
三.自定義字串轉換為陣列:
[JavaScript] 純文字檢視 複製程式碼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()函式可以參閱javascript push()一章節。
2.indexOf()函式可以參閱javascript String indexOf()一章節。
3.substring()函式可以參閱javascript String substring()一章節。
四.自定義陣列轉換為字串:
[JavaScript] 純文字檢視 複製程式碼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,返回轉換後的字串。
相關文章
- 字串和陣列的相互轉換字串陣列
- iOS字串和陣列的相互轉換iOS字串陣列
- JavaScript陣列與字串相互轉換 join、splitJavaScript陣列字串
- javascript字串和陣列轉換JavaScript字串陣列
- js實現的字串和陣列的相互轉換JS字串陣列
- 陣列與字串方法與相互轉換陣列字串
- 陣列和集合的相互轉換陣列
- javascript字串和ascii碼的相互轉換JavaScript字串ASCII
- javascript數字和字串的相互轉換JavaScript字串
- javascript數字和字串相互轉換JavaScript字串
- JavaScript 字串轉換為陣列JavaScript字串陣列
- Golang 陣列和字串之間的相互轉換[]byte/stringGolang陣列字串
- JavaScript將陣列轉換為字串JavaScript陣列字串
- 轉:java中陣列與List相互轉換的方法Java陣列
- Swift中實現Array陣列和NSArray陣列的相互轉換與遍歷Swift陣列
- javascript如何將字串轉換成陣列JavaScript字串陣列
- Java實現普通二維陣列和稀疏陣列的相互轉換Java陣列
- xml與陣列的相互轉換——phpXML陣列PHP
- 字串和數字的相互轉換字串
- js實現的陣列和CSV格式的相互轉換JS陣列
- string與char陣列相互轉換陣列
- c++中string類物件和字元陣列之間的相互轉換C++物件字元陣列
- Java中 set,list,array(集合與陣列)、Map相互轉換Java陣列
- javascript將字串轉換為陣列程式碼例項JavaScript字串陣列
- 31_Pandas.DataFrame,Series和NumPy陣列ndarray相互轉換陣列
- 使用Java完成byte陣列與十六進位制字串相互轉換Java陣列字串
- SQL Server 字串和時間相互轉換SQLServer字串
- JavaScript全形和半形相互轉換JavaScript
- 將字串陣列轉換為浮點數陣列字串陣列
- json字串 轉換為陣列JSON字串陣列
- Jquery 陣列與字串之間的轉換jQuery陣列字串
- C#中JSON字串和Dictionary字典型別的相互轉換C#JSON字串型別
- C# byte陣列與Image相互轉換的方法C#陣列
- List 和 陣列 的轉換陣列
- 【Java】int[] 陣列 和 Integer陣列的轉換Java陣列
- JavaScript二維陣列轉換成一維陣列JavaScript陣列
- js 陣列,字串,json互相轉換陣列字串JSON
- 舌尖上的javascript陣列和字串基本操作JavaScript陣列字串