Rumah  >  Artikel  >  hujung hadapan web  >  Ringkasan rentetan pengendalian dalam kemahiran JavaScript_javascript

Ringkasan rentetan pengendalian dalam kemahiran JavaScript_javascript

WBOY
WBOYasal
2016-05-16 16:01:09981semak imbas

Saya telah mengambil bahagian dalam beberapa ujian bertulis untuk pengambilan pelatih hadapan baru-baru ini dan mendapati bahawa banyak soalan ujian bertulis akan menguji pemprosesan rentetan, seperti soalan ujian bertulis Qunar.com, soalan ujian bertulis Taobao, dsb. Jika anda sering mengambil peperiksaan bertulis atau pernah berada di sana, saya percaya anda, seperti saya, akan mendapati bahawa pemprosesan rentetan adalah salah satu jenis soalan yang paling biasa dalam proses pengambilan bahagian hadapan.

Soalan ini mempunyai satu ciri Pertimbangkan dari perspektif pemeriksa ia bukan menguji sama ada anda mengetahuinya, tetapi sama ada anda boleh menggunakannya dengan lebih ringkas tanpa meminjam manual XX atau panduan XX atau Baidu dan Google cara.

Malangnya, ramai pembangun, sudah tentu saya salah seorang daripada mereka, tidak dapat mengingati penggunaannya untuk banyak fungsi pemprosesan rentetan yang kerap digunakan, dan sentiasa perlu merujuk kepada manual XX atau panduan XX untuk mendapatkan bantuan.

Hasilnya ialah pengetahuan asas yang sangat kritikal ini tidak cukup kuat Apabila menghadapi soalan ini, anda perlu menggunakan peringkat N untuk gelung untuk melintasinya satu demi satu.

Ini adalah isyarat Apabila anda mendapati bahawa anda menggunakan terlalu banyak untuk gelung semasa melakukan soalan jenis ini, maka perhatikan kemungkinan besar anda telah menulis dengan salah. Jangan pandang remeh perkara-perkara ini, mereka mungkin memainkan peranan yang besar dalam mencari pekerjaan dan pembangunan harian.

Baiklah, jangan bercakap lagi, mari kita ringkaskan satu persatu. Tidak dapat dielakkan bahawa terdapat beberapa peninggalan Jika anda menjumpainya, sila berasa bebas untuk menambahkannya atau menghantar mesej peribadi.

1. Penukaran rentetan

Penukaran rentetan ialah keperluan dan kerja paling asas Anda boleh menukar sebarang jenis data kepada rentetan Anda boleh menggunakan mana-mana daripada tiga kaedah berikut:

var num= 19; // 19
var myStr = num.toString(); // "19"

Anda juga boleh melakukan ini:

var num= 19; // 19
var myStr = String(num); // "19"

Atau, lebih mudah lagi:

var num= 19; // 19
var myStr = "" +num; // "19"

2. Pembahagian rentetan

Pemisahan rentetan adalah untuk membahagi rentetan kepada berbilang rentetan JavaScript memberikan kita fungsi yang sangat mudah, seperti:

var myStr = "I,Love,You,Do,you,love,me";
var substrArray = myStr .split(","); // ["I", "Love", "You", "Do", "you", "love", "me"];
var arrayLimited = myStr .split(",", 3); // ["I", "Love", "You"];

Parameter kedua bagi split() menunjukkan panjang maksimum tatasusunan rentetan yang dikembalikan.

3 Dapatkan panjang rentetan

Panjang rentetan sering digunakan dalam pembangunan Ia sangat mudah seperti berikut:

var myStr = "I,Love,You,Do,you,love,me";
var myStrLength = myStr.length; //25

4. Subrentetan pertanyaan

Ramai orang akan melupakan kaedah terbina dalam JavaScript ini, atau melupakan penggunaan khusus mereka, menyebabkan mereka terpaksa menyarangkan gelung untuk semasa membuat soalan.

Fungsi pertama: indexOf(), ia mencari dari permulaan rentetan dan mengembalikan koordinat yang sepadan jika ditemui, ia mengembalikan -1. Seperti berikut:

var myStr = "I,Love,you,Do,you,love,me";
var index = myStr.indexOf("you"); // 7 ,基于0开始,找不到返回-1

Fungsi kedua: lastIndexOf(), ia mencari dari hujung rentetan dan mengembalikan koordinat yang sepadan jika ditemui, ia mengembalikan -1. Seperti berikut:

var myStr = "I,Love,you,Do,you,love,me";
var index = myStr.lastIndexOf("you"); // 14

Dua fungsi di atas juga menerima parameter pilihan kedua, yang menunjukkan kedudukan permulaan carian.

5. Penggantian rentetan

Hanya mencari rentetan tidak sepatutnya berhenti Dalam soalan umum, anda akan sering diminta untuk mencari dan menggantikannya dengan rentetan anda sendiri, contohnya:

var myStr = "I,love,you,Do,you,love,me";
var replacedStr = myStr.replace("love","hate");//"I,hate,you,Do,you,love,me"

Secara lalai, hanya yang pertama ditemui digantikan Jika anda ingin menggantikannya secara global, anda perlu meletakkan bendera global biasa, seperti:

var myStr = "I,love,you,Do,you,love,me";
var replacedStr = myStr.replace(/love/g,"hate");
//"I,hate,you,Do,you,hate,me"

Untuk penjelasan lebih terperinci, sila rujuk: http://www.w3school.com.cn/jsref/jsref_replace.asp

6 Cari aksara pada kedudukan tertentu atau nilai pengekodan aksaranya

Untuk mencari watak pada kedudukan tertentu, anda boleh menggunakan fungsi berikut:

var myStr = "I,love,you,Do,you,love,me";
var theChar = myStr.charAt(8);// "o",同样从0开始

Begitu juga, salah satu fungsi adik-beradiknya ialah mencari nilai pengekodan aksara bagi kedudukan yang sepadan, seperti:

var myStr = "I,love,you,Do,you,love,me";
var theChar = myStr.charCodeAt(8); //111

7. Rangkaian rentetan

Operasi penyambungan rentetan boleh semudah menggunakan operator tambahan, seperti:

var str1 = "I,love,you!";
var str2 = "Do,you,love,me?";
var str = str1 + str2 + "Yes!";//"I,love,you!Do,you,love,me?Yes!"

Begitu juga, JavaScript juga disertakan dengan fungsi yang berkaitan, seperti:

var str1 = "I,love,you!";
var str2 = "Do,you,love,me?";
var str = str1.concat(str2);//"I,love,you!Do,you,love,me?"

Fungsi concat() boleh mempunyai berbilang parameter, lulus berbilang rentetan dan menyambung berbilang rentetan.

8. Pemotongan dan pengekstrakan tali

Terdapat tiga cara untuk mengekstrak dan memotong daripada rentetan, seperti:

Kaedah pertama ialah menggunakan slice():

var myStr = "I,love,you,Do,you,love,me";
var subStr = myStr.slice(1,5);//",lov"

Kedua, gunakan subrentetan():

var myStr = "I,love,you,Do,you,love,me";
var subStr = myStr.substring(1,5); //",lov"

Kaedah ketiga ialah menggunakan substr():

var myStr = "I,love,you,Do,you,love,me";
var subStr = myStr.substr(1,5); //",love"

Berbeza daripada kaedah pertama dan kedua, parameter kedua substr() mewakili panjang maksimum rentetan yang dipintas, seperti yang ditunjukkan dalam keputusan di atas.

9. Penukaran kes rentetan

Fungsi yang biasa digunakan untuk menukar kepada rentetan huruf besar atau huruf kecil adalah seperti berikut:

var myStr = "I,love,you,Do,you,love,me";
var lowCaseStr = myStr.toLowerCase();//"i,love,you,do,you,love,me";
var upCaseStr = myStr.toUpperCase();//"I,LOVE,YOU,DO,YOU,LOVE,ME"

Padanan rentetan

Pemadanan rentetan mungkin memerlukan anda mempunyai pemahaman tertentu tentang ungkapan biasa Mari kita lihat fungsi padanan() dahulu:

var myStr = "I,love,you,Do,you,love,me";
var pattern = /love/;
var result = myStr.match(pattern);//["love"]
console.log(result .index);//2
console.log(result.input );//I,love,you,Do,you,love,me

如你所见,match()函数在字符串上调用,并且接受一个正则的参数。来看看第二个例子,使用exec()函数:

var myStr = "I,love,you,Do,you,love,me";
var pattern = /love/;
var result = pattern .exec(myStr);//["love"]
console.log(result .index);//2
console.log(result.input );//I,love,you,Do,you,love,me

简单吧,仅仅是把正则和字符串换了个位置,即exec()函数是在正则上调用,传递字符串的参数。对于上面两个方法,匹配的结果都是返回第一个匹配成功的字符串,如果匹配失败则返回null.

再来看一个类似的方法search(),如:

var myStr = "I,love,you,Do,you,love,me";
var pattern = /love/;
var result = myStr.search(pattern);//2

仅返回查到的匹配的下标,如果匹配失败则返回-1.

11、字符串比较

比较两个字符串,比较是规则是按照字母表顺序比较的,如:

var myStr = "chicken";
var myStrTwo = "egg";
var first = myStr.localeCompare(myStrTwo); // -1
first = myStr.localeCompare("chicken"); // 0
first = myStr.localeCompare("apple"); // 1

12、举例

最后我们来看一道前端笔试题,去哪儿网的,相信很多孩子都做到过这个题了。题目:写一个getSuffix函数,用于获得输入参数的后缀名,例如输入abcd.txt,返回txt。附上我的答案:

function getSuffix(file){
   return file.slice(file.lastIndexOf(".") + 1,file.length); 
}

结束语

相信JavaScript中字符串操作的函数应该不止这几个,但是上面列的这些应该都是非常常用的。如果有哪些需要补充的,欢迎补充!希望看到这些以后,再面对字符串的笔试面试题你能非常从容的面对。

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn