Apskatīsim tuvāk iterālas string metodes
Kad divi JavaScript izstrādātāji apspriež ar darbu saistītu tēmu, dažkārt var tikt pieminēts vārds iterāls (iterable). Bet ko īsti nozīmē iterable? JavaScript versijā iterējams ir jebkurš datu tips, ko var atkārtot, izmantojot for of cilpu. Daži datu veidi, kurus varat atkārtot, ir masīvi un virknes (arrays un strings).
Šajā rakstā jūs uzzināsit par virkņu masīvu īpašībām, kā arī izpētīsiet turpmākas manipulācijas ar virknēm, izmantojot savienošanas operatoru.
JavaScript pasaulē bieži var teikt, ka virknes uzvedas kā masīvi, jo virknes ir līdzīgas masīviem. Piemēram, varat palaist for cilpu burtu masīvā un izvadīt rezultātu, izmantojot metodi console.log. Turklāt virknē varat arī palaist for cilpu.
Piemēram, cilpu pāri virknei A, B, C, lai burtus izvadītu atsevišķi. Ļaujiet man to tagad parādīt ar dažiem koda piemēriem.
var letters = ["a", "b", "c"];
for (var i = 0; i < letters.length; i++) {
console.log(letters[i]);
}
var letters = "abc";
for (var i = 0; i < letters.length; i++) {
console.log(letters[i]);
}
Zemāk man ir uzrakstīts kods, kurā ir mainīgais dārzenīši, kurā savukārt ir masīvs ar trim virknēm. Katrā virknē ir dārzeņa nosaukums, “sīpols”, “pētersīļi” un “burkāni”. Esmu ierakstījis arī konsoles ‘žurnālu’ dārzenīši.length, kas atgriezīs masīva vienumu skaitu.
var dārzenīši = ["sīpols", "pētersīļi", "burkāns"];
console.log(dārzenīši.length);
Tālāk man ir arī konsoles žurnāli pirmajam un otrajam masīva vienumam, izmantojot attiecīgi indeksus nulle un viens.
var dārzenīši = ["sīpols", "pētersīļi", "burkāns"];
console.log(dārzenīši.length);
console.log(dārzenīši[0]);
console.log(dārzenīši[1]);
Turpinot, nākošais man ir for cilpas piemērs, kas iestata i skaitītāju uz nulli. Šīs cilpas izejas nosacījums ir tāds, ka salīdzinājums i ir mazāks par mainīgā dārzenīši garumu atgriež nepatiesu (false) vērtību, un i++ ir vērtība, kas jāpalielina katrā cilpā.
var dārzenīši = ["sīpols", "pētersīļi", "burkāns"];
console.log(dārzenīši.length);
console.log(dārzenīši[0]);
console.log(dārzenīši[1]);
for (var i = 0; i < dārzenīši.length; i++) {
console.log(dārzenīši[i]);
}
For cilpas iekšpusē es konsole reģistrēju dārzeņus ar indeksu i. Kad es palaižu šo kodu, es saņemu trīs, kas attēlo masīva garumu. “Sīpols” no indeksa 0, “pētersīļi’ no indeksa 1 un visbeidzot “sīpols”, “pētersīļi” un “burkāni”, jo for cilpa izvada visus masīva vienumus.
konsolē:
3
sīpols
pētersīļi
sīpols
pētersīļi
burkāns
Šeit es izpētīšu, kā virknes var atkārtot. Šajā failā man ir mainīgais ar nosaukumu sveiciens ar virknes vērtību
“kā iet?”, kā arī konsoles žurnāli virknes garumam un rakstzīmes indeksā nulle un viens.
var sveiciens = "Kā iet?";
console.log(sveiciens.length);
console.log(sveiciens[0]);
console.log(sveiciens[1]);
Atkal turpinājumā, man ir for cilpa, kas strukturāli ir tāda pati kā iepriekšējā piemērā.
var sveiciens = "Kā iet?";
console.log(sveiciens.length);
console.log(sveiciens[0]);
console.log(sveiciens[1]);
for (var i = 0; i < sveiciens.length; i++) {
console.log(sveiciens[i]);
}
Palaižot šo kodu, mēs iegūstam septiņus virknes garumam K un Ā nulles un viena indeksam, un pēc tam katra pilnas virknes rakstzīme secībā kā cilpas izvade.
7
K
ā
K
ā
i
e
t
?
Neskatoties uz līdzīgu uzvedību, virknes nav masīvi. Lai to izpētītu tuvāk, pāriesim pie nākamā piemēra.
Šajā kodā man ir sveiciena mainīgais, kas saglabā virkni sveiki, un lietotāja mainīgais, kas saglabā virkni Līga. Pēc tam es palaidu konsoles žurnālu ar sveiciena virkni un pop metodi, kas, kā jūs zināt, noņem vienumus no masīva.
var sveiciens = "sveiki";
var lietotājs = "Līga";
console.log(sveiciens.pop());
Mēģinot palaist šo kodu, tiek parādīts kļūdas ziņojums, kurā teikts, ka tipa kļūda sveiciens.pop nav funkcija. Tas man saka, ka nevaru palaist visas masīva metodes virknēs. Tagad izpildīsim divas citas koda rindas.
var sveiciens = "sveiki";
var lietotājs = "Līga";
// console.log(sveiciens.pop());
console.log(sveiciens + lietotājs); // Sveiki Līga
console.log(sveiciens.concat(lietotājs)); // Sveiki Līga
Pirmajā es konsole reģistrēju mainīgo sveicienu, plus operatoru un mainīgo lietotājs. Nākamajā rindā es konsole reģistrēju mainīgā sveiciena un concat metodi ar mainīgo lietotājs. Concat metode pieņem jebkuru vērtību, kuru es vēlos savienot vai pievienoties sveiciena mainīgajam. Šajā gadījumā darbosies abas koda rindas. Viņi abi konsolē žurnālu sveiki Līga.
sveiki Līga
sveiki Līga
Varu apstiprināt, ka plus operators šeit, ja to izmanto virknēm, darbojas kā savienošanas operators, kas nozīmē, ka tas savieno virknes kopā. Man ir arī metode ar nosaukumu concat, ko varu izmantot virknei, lai pievienotu vērtības jebkurai virknei, kuru palaida concat metode.
String špikeru lapa / Cheat sheet:
Raksta turpinājumā uzzināsiet
Šajā špikeru lapā es uzskaitīšu dažas no visizplatītākajām un noderīgākajām virkņu īpašībām un metodēm.
Visos piemēros es izmantošu vienu vai abus no šiem mainīgajiem:
var greet = "Sveika, ";
var place = "pasaule"
Ņemiet vērā, ka neatkarīgi no tā, kādus virknes rekvizītus un metodes es demonstrēju turpmākajos piemēros, es būtu varējis to palaist tieši šajās virknēs, nesaglabājot tās mainīgajā, piemēram, tajās, kurām nosaucu vārdu sveiciens un length.
sveiciens.length; // 7
Dažos turpmākajos piemēros skaidrības labad tā vietā, lai izmantotu mainīgā nosaukumu, es izmantošu pašu virkni.
Visām virknēm ir vairāki iebūvēti rekvizīti, taču ir viens rekvizīts, kas patiešām ir noderīgs: garuma rekvizīts, kas tiek izmantots šādi:
Lai nolasītu katru atsevišķu rakstzīmi noteiktā virknes rādītājā, sākot no nulles, es varu izmantot metodi charAt():
greet.simbolsUz(0); // 'H'
"Pa".concat("sau").concat("le"); // 'Pasaule'
"ho-ho-ho".indexOf('h'); // 0
"ho-ho-ho".indexOf('o'); // 1
"ho-ho-ho".indexOf('-'); // 2
LastIndexOf atrod pēdējo atbilstību, pretējā gadījumā tas darbojas tāpat kā indexOf.
Sadalīšanas metode virkni sadala apakšvirkņu masīvā:
"ho-ho-ho".split("-"); // ['ho', 'ho', 'ho']
sveiciens.toUpperCase(); // "SVEIKI, "
sveiciens.toLowerCase(); // "sveiki, "
- charAt()
- concat()
- indexOf()
- lastIndexOf()
- split()
- toUpperCase()
- toLowerCase()
Atbildēt
Lai komentētu, jums jāpiesakās sistēmā.