由輸出的結(jié)果可以看出,split()函數(shù)已經(jīng)將字符串轉(zhuǎn)換成一個(gè)數(shù)組。
二.將數(shù)組轉(zhuǎn)換為字符串
此操作可以使用Array對(duì)象的join()函數(shù)來實(shí)現(xiàn),此函數(shù)可以將數(shù)組中的元素以指定的字符連接起來,然后返回產(chǎn)生的字符串。
代碼如下:
以上代碼實(shí)現(xiàn)了我們的要求,使用"-"將數(shù)組元素連接了起來,并生成了一個(gè)字符串。
上面的兩個(gè)例子都是使用的自帶的函數(shù),當(dāng)然我們也可以自己寫,這樣靈活性更大,并且知根知底。
三.自定義字符串轉(zhuǎn)換為數(shù)組
以上代碼同樣實(shí)現(xiàn)了將字符串轉(zhuǎn)換為數(shù)組的功能,下面對(duì)代碼進(jìn)行一下注釋:
代碼注釋:
1.function StringToArray(str,substr){},此函數(shù)用來進(jìn)行轉(zhuǎn)化,str是要被轉(zhuǎn)換的字符串,substr是分隔符。
2. var arrTmp=new Array(),聲明一個(gè)數(shù)組,用來存放分割的字符串片段。
3.if(substr=="") {arrTmp.push(str);return arrTmp;},如果字符串分隔符為空,那么就將整個(gè)字符串放入數(shù)組。
4. var i=0,j=0,k=str.length;聲明三個(gè)變量,并賦初值,k的值是字符串中字符的個(gè)數(shù)。
5.while(i
7.if(j!=-1),如果查找的分隔符存在。
8.if(str.substring(i,j)!=""){},截取從開始查找位置到查找到第一個(gè)分隔符之間的字符串。
9.arrTmp.push(str.substring(i,j));,將截取的字符串放入數(shù)組。
10.i=j+1;將開始查找的位置設(shè)置為分隔符的下一個(gè)字符。
11.else{},如果沒有查找。
12.if(str.substring(i,k)!=""){arrTmp.push(str.substring(i,k));},如果最后一個(gè)分隔符之后的字符不為空,那么就添加到數(shù)組。
13.i=k,將i設(shè)置為k,這樣循環(huán)就停止了。
14.return arrTmp; 返回?cái)?shù)組。
相關(guān)知識(shí):
1.push()方法的定義和用法:
此方法可以給指定的數(shù)組末尾追加一個(gè)或者多個(gè)新的元素,并返回?cái)?shù)組的長(zhǎng)度。
注:新元素是直接追加到原有的數(shù)組,而不是創(chuàng)建新的數(shù)組。
點(diǎn)擊可參閱數(shù)組更多屬性和方法。
語法結(jié)構(gòu):
arrayObject.push(元素一,元素二,....,元素N)
參數(shù)列表:
參數(shù) 描述
參數(shù)(一...N) 必需。要被追加的新元素。
實(shí)例代碼:
2.indexOf()方法的定義和用法:
此方法返回指定的字符串在字符串中首次出現(xiàn)的位置。
如果沒有檢索到相應(yīng)的字符串,返回值是-1。
注:此方法對(duì)大小寫敏感。
語法結(jié)構(gòu):
stringObject.indexOf(substring,startindex)
實(shí)例代碼:
b在字符串a(chǎn)bcdefg中第二個(gè)出現(xiàn)。輸出結(jié)果:1。
此方法對(duì)大小寫敏感的,所以字符串a(chǎn)bcdefg中并沒有大寫的B出現(xiàn)。輸出結(jié)果:-1。
檢索開始的位置是4,字符串首次出現(xiàn)的位置還是從字符串的起始開始計(jì)算的。輸出結(jié)果:4。
3.substring()函數(shù)。
四.自定義數(shù)組轉(zhuǎn)換為字符串
聲明:本網(wǎng)頁內(nèi)容旨在傳播知識(shí),若有侵權(quán)等問題請(qǐng)及時(shí)與本網(wǎng)聯(lián)系,我們將在第一時(shí)間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com