Rumah >hujung hadapan web >tutorial js >js melaksanakan operasi penukaran antara rentetan dan kemahiran arrays_javascript
Artikel ini memperkenalkan kaedah penukaran bersama rentetan dan tatasusunan dalam JavaScript dengan contoh dan berkongsinya dengan semua orang untuk rujukan anda Kandungan khusus adalah seperti berikut
Operasi penukaran antara rentetan dan tatasusunan adalah sangat penting, kerana ia sering digunakan dalam proses pengekodan sebenar, jadi ini adalah titik pengetahuan yang mesti dikuasai, sudah tentu, titik pengetahuan ini tidak sukar mengetahuinya selama-lamanya. Ia bukanlah sesuatu yang memerlukan latihan yang mencukupi untuk dikuasai.
1. Tukar rentetan kepada tatasusunan
Operasi ini akan menggunakan fungsi split(), yang boleh menggunakan aksara yang ditentukan sebagai pemisah untuk menukar rentetan kepada tatasusunan Kod contoh adalah seperti berikut:
var Str="abc-mng-zhang-mayi"; var newArray=Str.split("-"); console.log(newArray);
Seperti yang dapat dilihat daripada output, fungsi split() telah menukar rentetan kepada tatasusunan.
2. Tukar tatasusunan kepada rentetan
Operasi ini boleh dilaksanakan menggunakan fungsi join() objek Array Fungsi ini boleh menyambungkan elemen dalam tatasusunan dengan aksara yang ditentukan dan kemudian mengembalikan rentetan yang terhasil.
Kodnya adalah seperti berikut:
var newArray=["abc","mng","zhang","mayi"]; var Str=newArray.join("-"); console.log(Str);
Kod di atas melaksanakan keperluan kami, menggunakan "-" untuk menyambungkan elemen tatasusunan dan menjana rentetan.
Kedua-dua contoh di atas semuanya menggunakan fungsi terbina dalam Sudah tentu, kita juga boleh menulis sendiri, yang akan menjadi lebih fleksibel dan mengetahui asasnya.
3. Tukar rentetan tersuai kepada tatasusunan
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);
Kod di atas juga melaksanakan fungsi menukar rentetan kepada tatasusunan Mari ulas kod:
Ulasan kod:
1.function StringToArray(str,substr){}, fungsi ini digunakan untuk penukaran, str ialah rentetan yang hendak ditukar dan substr ialah pembatas.
2. var arrTmp=new Array(), mengisytiharkan tatasusunan untuk menyimpan serpihan rentetan berpecah.
3.if(substr=="") {arrTmp.push(str);return arrTmp;}, jika pembatas rentetan kosong, maka keseluruhan rentetan dimasukkan ke dalam tatasusunan.
4. var i=0,j=0,k=str.length; isytiharkan tiga pembolehubah dan nilaikan nilai awalan.
5.while(i
7.if(j!=-1), jika pembatas yang dicari wujud.
8.if(str.substring(i,j)!=""){}, memintas rentetan dari kedudukan permulaan ke pembatas pertama.
9.arrTmp.push(str.substring(i,j));, letakkan rentetan yang dipintas ke dalam tatasusunan.
10.i=j 1; Tetapkan kedudukan permulaan carian kepada aksara seterusnya pemisah.
11.lain{}, jika tiada carian.
12.if(str.substring(i,k)!=""){arrTmp.push(str.substring(i,k));}, jika aksara selepas pembatas terakhir tidak kosong, kemudian tambahkannya pada tatasusunan .
13.i=k, tetapkan i kepada k, jadi gelung berhenti.
14.return arrTmp;
Pengetahuan berkaitan:
1. Definisi dan penggunaan kaedah push():
Kaedah ini boleh menambahkan satu atau lebih elemen baharu pada penghujung tatasusunan yang ditentukan dan mengembalikan panjang tatasusunan.
Nota: Elemen baharu dilampirkan terus pada tatasusunan asal dan bukannya mencipta tatasusunan baharu.
Klik untuk melihat lebih banyak sifat dan kaedah tatasusunan.
Struktur tatabahasa:
arrayObject.push(elemen satu, elemen dua, ...., elemen N)
Senarai parameter:
Perihalan Parameter
Parameter(a...N) Diperlukan. Elemen baharu yang akan ditambahkan.
Contoh kod:
var a = [1,2,3]; console.log(a.push("zhang","dao"));
2.Takrifan dan penggunaan kaedah indexOf():
Kaedah ini mengembalikan kedudukan kejadian pertama rentetan yang ditentukan dalam rentetan.
Jika rentetan yang sepadan tidak diambil, nilai pulangan ialah -1.
Nota: Kaedah ini sensitif huruf besar-besaran.
Struktur tatabahasa:
stringObject.indexOf(substring,startindex)
Contoh kod:
var a=new String("abcdefg") console.log(a.indexOf("b"));
b muncul kedua dalam rentetan abcdefg. Hasil keluaran: 1.
var a=new String("abcdefg") console.log(a.indexOf("B"));
Kaedah ini sensitif huruf besar-besaran, jadi tiada huruf besar B dalam rentetan abcdefg. Hasil keluaran: -1.
var a=new String("abcdefg") console.log(a.indexOf("e",4));
Kedudukan permulaan carian ialah 4, dan kedudukan di mana rentetan pertama kali muncul dikira dari permulaan rentetan. Hasil keluaran: 4.
3.substring() fungsi.
4. Tukar tatasusunan tersuai kepada rentetan
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,"-"));
Kod di atas mencapai keperluan kami dan boleh menukar tatasusunan kepada rentetan Mari ulas kod:
Komen kod:
1.function ArrayToString(arr,str){}, parameter pertama ialah tatasusunan dan parameter kedua ialah rentetan sambungan.
2.var strTmp="", isytiharkan rentetan kosong.
3.for(var i=0;i
5.if(strTmp=="") {strTmp=arr;}, jika rentetan juga kosong, maka tetapkan elemen ini dalam tatasusunan kepada rentetan strTmp.
6.else{strTmp=strTmp str arr}, jika tidak lakukan penggabungan rentetan.
7.return strTmp, mengembalikan rentetan yang ditukar.
Di atas ialah kod terperinci untuk menukar antara rentetan dan tatasusunan dalam js. Saya harap ia akan membantu pembelajaran semua orang.