Pada mulanya, kami belajar tentang jenis data. Mudah dan Kompleks. Primitif dan abstrak.
Primitif adalah secara semula jadi mudah. Dua kategori dikhaskan untuk aksara abjad angka yang kita kenali sebagai kanak-kanak, dan yang ketiga tidak akan keluar pada lembaran kerja sekolah rendah.
Kekekalan ini ialah perbezaan yang menentukan antara data primitif dan kompleks. Ketidakbolehubahan ciri eksplisit data ringkas.
Jadi bagaimana seseorang memanipulasi yang tidak berubah?
Kaedah JavaScript ialah fungsi "terbina dalam" yang dikaitkan dengan jenis data tertentu. Apabila mula-mula mempelajari kaedah asas, saya tidak pasti sama ada (atau bila) sintaks memerlukan pengendali tugasan.
Cara manipulasi data kaedah menentukan kehadiran tugasan. Kaedah pemusnah (? =) memanipulasi data di tempat, manakala tidak merosakkan (✅ =) mencipta nilai baharu.
Ringkasnya, semua kaedah rentetan mengembalikan pembolehubah atau nilai data baharu. Rentetan asal kekal tidak berubah. Mereka semua akan mempunyai pengendali tugasan dan nilai pulangan.
.panjang
mengembalikan panjang rentetan
var str = ‘simple’; var len = str.length; console.log(len); // logs 6 to the console console.log(str); // logs 'simple'
.concat()
menyertai dua atau lebih rentetan
var str1 = 'simple simon'; var str2 = 'pie man'; // string to be concatenated takes joiners var combo = str1.concat(' met a ', str2); console.log(combo) // 'simple simon met a pie man'
.pecah
mengembalikan tatasusunan
var str = 'A,B,C' // takes in optional separator var arr = str.split(',') console.log(arr)// ["A","B","C"] // empty quotes returns each value as an index var arr = str.split('') // returns["A",",","B",",","C"] // no separator returns whole string at [0] var arr = str.split() // ["A,B,C"]
Kaedah Pengekstrakan
kembali bahagian rentetan yang ditentukan
.hiris
var str = 'simple simon' // takes a start and end parameter (non-inclusive) var portion = str.slice(0, 6) // start at 0 index, stop before 6 console.log(portion) // logs 'simple' to the console // returns empty if start > end var portion = str.slice(3, 2) // start at 3 index, end before 2 console.log(portion) // logs '' to the console // negative numbers start count at the end of the string // lack of stop value indicates portion extends to end of string var portion = str.slice(-5) // start at 5th index from end console.log(portion) // logs 'simon' to the console
.subrentetan
var str = 'simple simon' // like slice (start, end) but <0 is treated as 0 var portion = str.substring(-5) console.log(portion) // logs 'simple simon' to the console
.substr
var str = 'simple simon' // takes (start, length) // use in place of .slice when end < start var portion = str.substr(3, 2) // start at 3 index, take 2 characters console.log(portion) // logs 'pl' to the console // negative numbers start parameter like slice // negative length treated as 0 characters var portion = str.substr(-1, 1) // start at -1, return 1 character console.log(portion) // logs 'n' to the console var portion = str.substr(2, -5) // console.log(portion) // logs '' to the console
Dalam JavaScript, manipulasi bukanlah sinonim yang tepat untuk cara kami menggunakannya dalam komunikasi biasa. Perubahan berlaku kerana nilai baharu dicipta, tetapi data asal dikekalkan.
Walaupun nampak mudah pada mulanya, kaedah ini menjadi penting di kemudian hari. Sebagai contoh, apabila menggelung tatasusunan rentetan, kaedah yang digunakan pada setiap lelaran ialah rentetan, bukan tatasusunan. Seperti komponennya, manipulasi rentetan adalah lurus ke hadapan dan berharga.
Kredit Imej
JavaScript yang fasih
Atas ialah kandungan terperinci Rentetan -- Memanipulasi Yang Tidak Boleh Berubah.. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!