JavaScript: metode za rad sa stringovima. JavaScript metode za rad sa stringovima Definiranje podstringa u stringu

💖 Sviđa li vam se? Podijelite vezu sa svojim prijateljima

Metoda include() određuje može li se jedan niz pronaći u drugom nizu, vraćajući true ili false ako je potrebno.

Sintaksa: -string.includes(searchString[, position])

searchString: - Niz za pretraživanje unutar ovog niza.

pozicija: -Dopunski. Pozicija u ovom nizu na kojoj se traži searchString; zadano 0.

niz = "LOL"; console.log(string.includes("lol")); // vraća false console.log(string.includes("LOL")); // vraća true

Imam košaricu koja prikazuje opcije proizvoda u padajućem izborniku, a ako odaberu "da", želim neka druga polja na stranici učiniti vidljivima.

Problem je u tome što košarica za kupnju sadrži i modifikator cijene u tekstu, koji može biti drugačiji za svaki proizvod. Sljedeći kod radi:

$(document).ready(function() ( $("select").change(function() ( var str = $("select option:selected").text(); if (str == "Da (+ 6,95 USD)") ( $(".engraving").show(); ) else ( $(".engraving").hide(); ) )); ));

Međutim, radije bih upotrijebio nešto poput ovoga, što ne radi:

$(document).ready(function() ( $("select").change(function() ( var str = $("select option:selected").text(); if (str *= "Yes") ($(".graviranje").show(); ) else ($(".graviranje").hide(); ) ));

Želim izvršiti radnju samo ako odabrana opcija sadrži riječ "Da" i zanemaruje modifikator cijene.

Postoji nekoliko načina odabira podnizova u JavaScriptu, uključujući podniz(), substr(), kriška() i funkcije regexp.

U JavaScriptu 1.0 i 1.1, podniz() postoji kao jedini jednostavan način odabira dijela većeg niza. Na primjer, za odabir linije pritisnite iz Izraz, koristiti "Izraz".substring(2,7). Prvi parametar funkcije je indeks znaka na kojem odabir počinje, dok je drugi parametar indeks znaka na kojem odabir završava (ne uključujući): podniz (2,7) uključuje indekse 2, 3, 4, 5 i 6.

U JavaScriptu 1.2, funkcije substr(), kriška() I regexp također se može koristiti za razdvajanje žica.

Substr() ponaša se na isti način kao substr jezik Pearl, gdje prvi parametar označava indeks znaka od kojeg počinje odabir, dok drugi parametar određuje duljinu podniza. Da biste izvršili isti zadatak kao u prethodnom primjeru, trebate koristiti "Izraz".substr(2,5). Zapamtite, 2 je početna točka, a 5 je duljina rezultirajućeg podniza.

Kada se koristi na žicama, kriška() ponaša se slično funkciji podniz(). Međutim, puno je moćniji, sposoban raditi s bilo kojom vrstom niza, ne samo s nizovima. kriška() također koristi negativne pomake za pristup željenoj poziciji, počevši od kraja retka. "Izraz".slice(2,-3) vratit će podniz pronađen između drugog znaka i trećeg znaka od kraja, vraćajući se ponovno pritisnite.

Posljednja i najuniverzalnija metoda za rad s podnizovima je rad kroz funkcije regularnog izraza u JavaScriptu 1.2. Još jednom, obraćajući pažnju na isti primjer, podniz "tisak" dobiven iz niza "Izraz":

Write("Expression".match(/press/));

Ugrađeni objekt Niz

Objekt Niz Ovo je implementacija objekta primitivne vrijednosti niza. Njegov konstruktor izgleda ovako:

Novi niz ( značenje?)

Ovdje značenje bilo koji string izraz koji specificira primitivnu vrijednost objekta. Ako nije navedeno, primitivna vrijednost objekta je "" .

Svojstva String objekta:

konstruktor Konstruktor koji je stvorio objekt. Broj znakova po retku. prototip Referenca na prototip klase objekta.

Standardne metode niza objekata

Vraća znak na zadanoj poziciji u nizu. Vraća kod znaka koji se nalazi na danom mjestu u nizu. Vraća spoj nizova. Stvara niz od znakova navedenih Unicode kodovima. Vraća položaj prvog pojavljivanja navedenog podniza. Vraća poziciju posljednjeg pojavljivanja navedenog podniza. Uspoređuje dva niza na temelju jezika operacijski sustav. Usklađuje niz s regularnim izrazom. Usklađuje niz s regularnim izrazom i zamjenjuje pronađeni podniz novim podnizom. Usklađuje niz s regularnim izrazom. Dohvaća dio niza i vraća novi niz. Rastavlja niz u niz podnizova. Vraća podniz zadan položajem i duljinom. Vraća podniz određen početnim i krajnjim položajem. Pretvara sva slova niza u mala slova, uzimajući u obzir jezik operativnog sustava. Pretvara sva slova u nizu u velika slova, uzimajući u obzir jezik operativnog sustava. Pretvara sva slova u nizu u mala slova. Pretvara objekt u niz. Pretvara sva slova u nizu u velika slova. Vraća osnovnu vrijednost objekta.

Nestandardne metode objekta String

Stvara HTML oznaka (…). Omota niz u oznake …. Omota niz u oznake …. Omota niz u oznake …. Omota niz u oznake …. Omota niz u oznake …. Omota niz u oznake …. Omota niz u oznake …. Stvara HTML hipervezu (). Omota niz u oznake …. Omota niz u oznake …. Omota niz u oznake …. Omota niz u oznake ….

svojstvo dužine

Sintaksa : objekt.duljina Atributi: (DontEnum, DontDelete, ReadOnly)

Vrijednost imovine duljina je broj znakova u retku. Za prazan niz ova vrijednost je nula.

metoda sidra

Sintaksa : objekt.sidro( Ime) Argumenti: Ime Proizlaziti: vrijednost niza

metoda sidro objekt, okruženo oznakama …. Ne postoji provjera je li izvorni niz već bio zatvoren u ovim oznakama. Ova se metoda koristi u kombinaciji s metodama document.write i document.writeln za stvaranje knjižne oznake u HTML dokumentu s navedenim Ime. Na primjer, operator document.write("Moj tekst".anchor("Bookmark")) je ekvivalentan operatoru document.write(" Moj tekst") .

velika metoda

Sintaksa : objekt.velik() Proizlaziti: vrijednost niza

metoda velik vraća niz koji se sastoji od objekt, okruženo oznakama …. Ne postoji provjera je li izvorni niz već bio zatvoren u ovim oznakama. Ova se metoda koristi u kombinaciji s metodama document.write i document.writeln za prikaz teksta velikim fontom. Na primjer, iskaz document.write("My text".big()) prikazat će niz Moj tekst na zaslonu preglednika.

metoda treptanja

Sintaksa : objekt.treptati() Proizlaziti: vrijednost niza

metoda treptati vraća niz koji se sastoji od primitivne vrijednosti niza objekt, okruženo oznakama …. Ne postoji provjera je li izvorni niz već bio zatvoren u ovim oznakama. Ova se metoda koristi u kombinaciji s metodama document.write i document.writeln za prikaz teksta u treptajućem fontu. Navedene oznake nisu uključene u HTML standard i podržavaju ih samo preglednici Netscape i WebTV. Na primjer, iskaz document.write("My text".blink()) prikazat će niz Moj tekst na zaslonu preglednika.

hrabra metoda

Sintaksa : objekt.bold() Proizlaziti: vrijednost niza

metoda podebljano vraća niz koji se sastoji od primitivne vrijednosti niza objekt, okruženo oznakama …. Ne postoji provjera je li izvorni niz već bio zatvoren u ovim oznakama. Ova se metoda koristi u kombinaciji s metodama document.write i document.writeln za prikaz teksta podebljanim fontom. Na primjer, operator document.write("Moj tekst".bold()) prikazat će redak Moj tekst .

charAt metoda

Sintaksa : objekt.charAt( položaj) Argumenti: položaj bilo koji numerički izraz Proizlaziti: vrijednost niza

metoda charAt vraća niz koji se sastoji od znaka koji se nalazi u zadanom pozicije primitivna vrijednost niza objekt. Pozicije znakova u retku su numerirane od nula do objekt. -1. Ako je pozicija izvan ovog raspona, vraća se prazna linija

. Na primjer, izjava document.write("String".charAt(0)) ispisat će znak C na zaslon preglednika.

Sintaksa : objekt metoda charCodeAt položaj) Argumenti: položaj bilo koji numerički izraz Proizlaziti.charCodeAt(

metoda charAt: brojčana vrijednost pozicije primitivna vrijednost niza objekt vraća broj jednak Unicode kodu znaka koji se nalazi u zadanom objekt. -1. . Pozicije znakova u retku su numerirane od nula do NaN

. Na primjer, operator document.write("String".charCodeAt(0).toString(16)) prikazat će heksadecimalni kod ruskog slova "C" na zaslonu preglednika: 421.

Sintaksa : objekt concat metoda .concat(, linija0, …, linija 1) Argumenti: .concat(, linija0, …, linija 1 nizN Proizlaziti: vrijednost niza

metoda bilo koji niz izraza concat

objekt + .concat( + linija0 + … + linija 1

vraća novi niz koji je spoj izvornog niza i argumenata metode. Ova metoda je ekvivalentna operaciji

Na primjer, operator document.write("Mraz i sunce.".concat("Divan dan.")) prikazat će redak Mraz i sunce na zaslonu preglednika. Divan je dan.

Sintaksa : objekt fiksna metoda Proizlaziti: vrijednost niza

metoda .fixed() vraća niz koji se sastoji od primitivne vrijednosti niza objekt, okruženo oznakama … fiksni

. Ne postoji provjera je li izvorni niz već bio zatvoren u ovim oznakama. Ova se metoda koristi u kombinaciji s metodama document.write i document.writeln za prikaz teksta u teletype fontu. Na primjer, iskaz document.write("My text".fixed()) prikazat će niz Moj tekst na zaslonu preglednika.

Sintaksa : objekt metoda boje fonta Argumenti: .fontcolor(boja) boja Proizlaziti: vrijednost niza

metoda string izraz vraća niz koji se sastoji od primitivne vrijednosti niza objekt, okruženo oznakama .fontcolor(boja)>… boja fonta

. Ne postoji provjera je li izvorni niz već bio zatvoren u ovim oznakama. Ova se metoda koristi u kombinaciji s metodama document.write i document.writeln za prikaz teksta u određenoj boji. Na primjer, iskaz document.write("My text".fontcolor("red")) prikazat će niz Moj tekst na zaslonu preglednika.

Sintaksa : objekt metoda veličine fonta .veličina fonta() Argumenti: .veličina fonta( veličina Proizlaziti: vrijednost niza

metoda brojčani izraz vraća niz koji se sastoji od primitivne vrijednosti niza objekt, okruženo oznakama … veličina fonta

fromCharCode metoda

Sintaksa : String.fromCharCode( šifra1, kod2, …, kodN) Argumenti: šifra1, kod2, …, kodN numerički izrazi Proizlaziti: vrijednost niza

metoda fromCharCode stvara novi niz (ali ne objekt niza) koji je spoj Unicode znakova s ​​kodovima šifra1, kod2, …, kodN.

Ovo je statička metoda objekta Niz, tako da ne morate posebno kreirati objekt niza da biste mu pristupili. Primjer:

Var s = String.fromCharCode(65, 66, 67); // s jednako "ABC"

metoda indexOf

Sintaksa : objekt.indexOf( podniz[,Početak]?) Argumenti: podniz bilo koji string izraz Početak bilo koji numerički izraz Proizlaziti.charCodeAt(

metoda indexOf vraća prvu poziciju podnizovi u primitivnoj vrijednosti niza objekt. objekt Početak Početak Početak Početak više od objekt objekt

Pretraga se vrši s lijeva na desno. Inače, ova metoda je identična metodi. Sljedeći primjer broji broj pojavljivanja uzorka podniza u nizu str.

Funkcija occur(str, pattern) ( var pos = str.indexOf(pattern); for (var count = 0; pos != -1; count++) pos = str.indexOf(pattern, pos + pattern.length); return count ;)

Metoda kurziva

Sintaksa : objekt.kurziv() Proizlaziti: vrijednost niza

metoda kurziv vraća niz koji se sastoji od primitivne vrijednosti niza objekt, okruženo oznakama …. Ne postoji provjera je li izvorni niz već bio zatvoren u ovim oznakama. Ova se metoda koristi u kombinaciji s metodama document.write i document.writeln za prikaz teksta u kurzivnom fontu. Na primjer, operator document.write("Moj tekst".kurziv()) prikazat će redak Moj tekst .

metoda lastIndexOf

Sintaksa : objekt.lastIndexOf( podniz[,Početak]?) Argumenti: podniz bilo koji string izraz Početak bilo koji numerički izraz Proizlaziti.charCodeAt(

metoda lastIndexOf vraća posljednju poziciju podnizovi u primitivnoj vrijednosti niza objekt objekt. -1. Početak Ako je dan neobavezan argument Početak, tada se pretraga provodi počevši od pozicije Početak; ako ne, onda od pozicije 0, tj. od prvog znaka retka. Ako Početak više od objekt negativan, tada se uzima jednak nuli; Ako objekt. -1, tada se uzima jednako

. -1.

Ako objekt ne sadrži ovaj podniz, tada se vraća vrijednost -1.

Pretraga se vrši s desna na lijevo. Inače, ova metoda je identična metodi. Primjer:

Sintaksa : objekt Var n = "Bijeli kit".lastIndexOf("kit"); // n je jednako 6 metoda veze) Argumenti: metoda veze.veza( Proizlaziti: vrijednost niza

metoda uri vraća niz koji se sastoji od primitivne vrijednosti niza objekt bilo koji string izraz veza metoda veze, okružen uri oznakama

"> . Ne postoji provjera je li izvorni niz već bio unutar ovih oznaka. Ova se metoda koristi zajedno s metodama document.write i document.writeln za stvaranje hiperveze u HTML dokumentu s navedenim

Sintaksa : objekt. Na primjer, naredba document.write("Moj tekst".link("#Bookmark")) je ekvivalentna naredbi document.write("Moj tekst") . linija0) Argumenti: linija0.veza( Proizlaziti metoda localeCompare

.localeCompare(

metoda : broj podrška objekt localeCompare uspoređuje dva niza uzimajući u obzir nacionalne postavke operativnog sustava. Vraća -1 ako je primitivna vrijednost manje uspoređuje dva niza uzimajući u obzir nacionalne postavke operativnog sustava. Vraća -1 ako je primitivna vrijednost linije1

, +1 ako je veći

Sintaksa : objekt, i 0 ako su te vrijednosti iste. metoda podudaranja) Argumenti: metoda podudaranja Proizlaziti.podudaranje(

metoda regvyr metoda podudaranja objekt. Rezultat podudaranja je niz pronađenih podnizova ili ništavan, ako nema podudaranja. pri čemu:

  • Ako metoda podudaranja ne sadrži opciju globalnog pretraživanja, tada se metoda izvršava metoda podudaranja.izvrs(objekt) i vraća se njegov rezultat. Rezultirajući niz sadrži pronađeni podniz u elementu s indeksom 0, a preostali elementi sadrže podnizove koji odgovaraju podizrazima metoda podudaranja, u zagradama.
  • Ako metoda podudaranja sadrži opciju globalnog pretraživanja, zatim metodu metoda podudaranja.izvrs(objekt) se izvršava sve dok se pronađu podudaranja. Ako je n broj pronađenih podudaranja, tada je rezultat niz od n elemenata koji sadrže pronađene podnizove. Vlasništvo metoda podudaranja.zadnjiIndeks dodijelio broj pozicije u izvornom nizu koji pokazuje na prvi znak nakon posljednje pronađene podudarnosti ili 0 ako nije pronađena podudarnost.

Treba imati na umu da metoda metoda podudaranja.izvrs mijenja svojstva objekta metoda podudaranja. Primjeri:

zamijeniti metodu

Sintaksa : objekt.zamijeniti( metoda podudaranja,crta) objekt.zamijeniti( metoda podudaranja,funkcija) Argumenti: metoda podudaranja — regularni izraz string string izraz funkcija naziv funkcije ili deklaracija funkcije Proizlaziti: nova linija

metoda zamijeniti odgovara regularnom izrazu metoda podudaranja s primitivnom vrijednošću niza objekt i zamjenjuje pronađene podnizove drugim podnizovima. Rezultat je novi niz, koji je kopija izvornog niza s napravljenim zamjenama. Metoda zamjene određena je opcijom globalnog pretraživanja u metoda podudaranja i tip drugog argumenta.

Ako metoda podudaranja ne sadrži opciju globalnog pretraživanja, tada se traži prvi podniz koji odgovara metoda podudaranja i zamjenjuje se. Ako metoda podudaranja sadrži opciju globalnog pretraživanja, zatim se podudaraju svi podnizovi metoda podudaranja, te su zamijenjeni.

crta, tada se svaki pronađeni podniz zamjenjuje njime. U ovom slučaju linija može sadržavati sljedeća svojstva objekta RegExp, poput $1, , $9, lastMatch, lastParen, leftContext i rightContext. Na primjer, operator document.write("Ukusne jabuke, sočne jabuke.".replace(/jabuke/g, "kruške")) prikazat će redak Ukusne kruške, sočne kruške na zaslonu preglednika.

Ako je drugi argument funkcija, tada se svaki pronađeni podniz zamjenjuje pozivanjem ove funkcije. Funkcija ima sljedeće argumente. Prvi argument je pronađeni podniz, nakon čega slijede argumenti koji odgovaraju svim podizrazima metoda podudaranja, u zagradama, pretposljednji argument je pozicija pronađenog podniza u izvornom nizu, računajući od nule, a posljednji argument je sam izvorni niz. Sljedeći primjer pokazuje kako koristiti metodu zamijeniti možete napisati funkciju za pretvaranje Fahrenheita u Celzijeve stupnjeve. Zadani scenarij

Funkcija myfunc($0,$1) ( return (($1-32) * 5 / 9) + "C"; ) funkcija f2c(x) ( var s = String(x); return s.replace(/(\d+( \.\d*)?)F\b/, myfunc ) document.write(f2c("212F"));

prikazat će liniju 100C na zaslonu preglednika.

Imajte na umu da ova metoda mijenja svojstva objekta metoda podudaranja.

Primjer zamjene

Zamijeni sva pojavljivanja podniza u nizu

Često se događa da trebate zamijeniti sva pojavljivanja jednog niza drugim nizom:

Var str = "foobarfoobar"; str=str.replace(/foo/g,"xxx"); // rezultat će biti str = "xxxbarxxxbar";

metoda pretraživanja

Sintaksa : objekt.traži( metoda podudaranja) Argumenti: metoda podudaranja bilo koji regularni izraz Proizlaziti: numerički izraz

metoda traži odgovara regularnom izrazu metoda podudaranja s primitivnom vrijednošću niza objekt. Rezultat podudaranja je položaj prvog pronađenog podniza, računajući od nule, ili -1 ako nema podudaranja. U isto vrijeme, opcija globalnog pretraživanja u metoda podudaranja se zanemaruje, a svojstva metoda podudaranja nemoj mijenjati.

Primjeri:

Sintaksa : objekt metoda kriške Početak [,.kriška(]?) Argumenti: Početak I .kriška( kraj Proizlaziti: nova linija

metoda bilo koje numeričke izraze objekt kriška Početak, s pozicije .kriška( na poziciju .kriška( Početak, bez uključivanja. Ako

i do kraja izvorne linije. objekt Pozicije znakova u retku su numerirane od nula do Početak objekt. +Početak. -1. .kriška( Ako vrijednost objekt. +.kriška(. Ako vrijednost

negativan, onda se zamjenjuje s

. Drugim riječima, negativni argumenti se tretiraju kao pomaci od kraja niza.

Sintaksa : objekt Rezultat je vrijednost niza, a ne objekt niza. Na primjer, izjava document.write("ABCDEF".slice(2,-1)) ispisat će niz CDE na zaslon preglednika. Proizlaziti: vrijednost niza

metoda mala metoda vraća niz koji se sastoji od primitivne vrijednosti niza objekt, okruženo oznakama ….mali()

mali

Sintaksa : objekt. Ne postoji provjera je li izvorni niz već bio zatvoren u ovim oznakama. Ova se metoda koristi u kombinaciji s metodama document.write i document.writeln za prikaz teksta malim fontom. Na primjer, izjava document.write("My text".small()) prikazat će niz Moj tekst na zaslonu preglednika. split metoda [,.podjela(]?) Argumenti: split metoda graničnik .podjela( veličina Proizlaziti broj string ili regularni izraz)

metoda : niz nizova (objekt Niz objekt podjela razbija primitivnu vrijednost na niz podnizova i vraća ga. Podjela na podnizove se vrši na sljedeći način. Izvorni niz se skenira slijeva na desno u potrazi za

graničnik .podjela(. Nakon što je pronađen, podniz od kraja prethodnog graničnika (ili od početka retka ako je ovo prvo pojavljivanje graničnika) do početka pronađenog dodaje se nizu podnizova. Stoga se sam separator ne pojavljuje u tekstu podniza. Neobavezni argument specificira najveću moguću veličinu rezultirajućeg niza. Ako je navedeno, onda nakon odabira

brojevima može se navesti ili kao niz ili kao regularni izraz. Postoji nekoliko slučajeva koji zahtijevaju posebno razmatranje:

Sljedeći primjer koristi regularni izraz za određivanje HTML oznake kao separator. Operater

prikazat će red Tekst, podebljan i kurziv na zaslonu preglednika.

udarna metoda

Sintaksa : objekt.štrajk() Proizlaziti: vrijednost niza

metoda štrajk vraća niz koji se sastoji od primitivne vrijednosti niza objekt, okruženo oznakama …. Ne postoji provjera je li izvorni niz već bio zatvoren u ovim oznakama. Ova se metoda koristi u kombinaciji s metodama document.write i document.writeln za prikaz teksta u precrtanom fontu. Na primjer, izjava document.write("My text".strike()) prikazat će niz Moj tekst na zaslonu preglednika.

sub metoda

Sintaksa : objekt.pod() Proizlaziti: vrijednost niza

metoda pod vraća niz koji se sastoji od primitivne vrijednosti niza objekt, okruženo oznakama …. Ne postoji provjera je li izvorni niz već bio zatvoren u ovim oznakama. Ova se metoda koristi u kombinaciji s metodama document.write i document.writeln za prikaz teksta kao indeksa. Na primjer, iskaz document.write("Moj tekst".sub()) prikazat će niz Moj tekst na zaslonu preglednika.

substr metoda

Sintaksa : objekt.substr( položaj [,duljina]?) Argumenti: položaj I duljina numerički izrazi Proizlaziti: vrijednost niza

metoda substr vraća podniz primitivne vrijednosti niza objekt počevši s ovim pozicije i koji sadrži duljina likovi. Ako duljina nije naveden, tada se vraća podniz počevši od zadanog pozicije i do kraja izvorne linije. Ako duljina je negativan ili nula, vraća se prazan niz.

i do kraja izvorne linije. objekt. -1. položaj Ako objekt veći ili jednak položaj., tada se vraća prazan niz. Ako objekt.+položaj.

je negativan, onda se tumači kao pomak od kraja retka, tj. zamjenjuje se s Bilješka položaj. Ako negativan je, dakle Internet Explorer

greškom ga zamjenjuje s 0, pa se zbog kompatibilnosti ova opcija ne bi trebala koristiti.

Var src = "abcdef"; var s1 = src.substr(1, 3); // "bcd" var s2 = src.substr(1); // "bcdef" var s3 = src.substr(-1); // "f", ali u MSIE: "abcdef"

Sintaksa : objekt metoda podniza Početak [,.kriška(]) Argumenti: Početak I .kriška( numerički izrazi Proizlaziti: vrijednost niza

metoda .podniz( vraća podniz primitivne vrijednosti niza objekt kriška Početak, s pozicije .kriška( na poziciju .kriška( podniz Početak, bez uključivanja. Ako

i do kraja izvorne linije. objekt nije naveden, tada se vraća podniz, počevši od pozicije . Pozicije znakova u retku su numerirane od nula do. -1. Početak Negativni argumenti ili jednaki zamjenjuju se nulom; ako je argument veći od duljine izvornog niza, tada se njime zamjenjuje. Ako više Početak kraj , zatim mijenjaju mjesta. Ako jednaki

kraj

, tada se vraća prazan niz.

Rezultat je vrijednost niza, a ne objekt niza. Primjeri:

Sintaksa : objekt Var src = "abcdef"; var s1 = src.substring(1, 3); // "bc" var s2 = src.substring(1, -1); // "a" var s3 = src.substring(-1, 1); // "a" Proizlaziti: vrijednost niza

metoda sup metoda vraća niz koji se sastoji od primitivne vrijednosti niza objekt, okruženo oznakama …. Ne postoji provjera je li izvorni niz već bio zatvoren u ovim oznakama. Ova se metoda koristi u kombinaciji s metodama document.write i document.writeln za prikaz teksta kao superskripta. Na primjer, iskaz document.write("My text".sup()) prikazat će niz Moj tekst na zaslonu preglednika.

Metoda toLocaleLowerCase

Sintaksa : objekt.toLocaleLowerCase() Proizlaziti: nova linija

.localeCompare(: Internet Explorer podržan od verzije 5.5. Netscape Navigator Nije podržan.

metoda toLocaleMala slova vraća novi niz u kojem su sva slova izvornog niza zamijenjena malim slovima, uzimajući u obzir lokalne postavke operativnog sustava. Preostali znakovi izvornog niza nisu promijenjeni. Izvorni niz ostaje isti. Ova metoda obično vraća isti rezultat kao ; razlika je moguća samo ako je kodiranje jezika u sukobu s Unicode pravilima za pretvaranje velikih u mala slova.

Metoda toLocaleUpperCase

Sintaksa : objekt.toLocaleUpperCase() Proizlaziti: nova linija

.localeCompare(: Internet Explorer podržan od verzije 5.5. Netscape Navigator Nije podržan.

metoda toLocaleUpperCase vraća novi niz u kojem su sva slova izvornog niza zamijenjena velikim slovima, uzimajući u obzir lokalne postavke operativnog sustava. Preostali znakovi izvornog niza nisu promijenjeni. Izvorni niz ostaje isti. Ova metoda obično vraća isti rezultat kao ; razlika je moguća samo ako je kodiranje jezika u sukobu s Unicode pravilima za pretvaranje malih u velika slova.

toLowerCase metoda

Sintaksa : objekt.toLowerCase() Proizlaziti: nova linija

metoda malim slovima vraća novi niz sa svim slovima izvornog niza zamijenjenim malim slovima. Preostali znakovi izvornog niza nisu promijenjeni. Izvorni niz ostaje isti. Na primjer, izjava document.write("String object".toLowerCase()) ispisat će string objekta string na zaslon preglednika.

Zadnje ažuriranje: 06.04.2018

Da bismo stvorili nizove, možemo izravno dodijeliti niz varijabli:

Neka ime = "Tom";

Objekt String dizajniran je za rad s nizovima, tako da možete koristiti i konstruktor niza:

Var name = new String("Tom");

Ali u pravilu se koristi prva, kraća metoda. U prvom slučaju, JavaScript automatski pretvara varijablu primitivnog tipa u String objekt ako je potrebno.

Objekt String ima velik skup svojstava i metoda pomoću kojih možemo manipulirati nizovima.

Svojstvo length označava duljinu niza:

Var hello = "zdravo svijete"; console.log("U redu "" + hello + "" " + hello.length + " znakova");

Metoda repeat() omogućuje stvaranje niza ponavljanjem drugog niza uvijek iznova. Broj ponavljanja prosljeđuje se kao argument:

Neka hello = "zdravo"; console.log(hello.repeat(3)); // bok bok bok

Obrasci redova

Predlošci nizova omogućuju umetanje različitih vrijednosti u niz. Da biste to učinili, reci su zatvoreni u navodnike:

Neka ime = "Tom"; let hello = `Zdravo $(ime)`; konzola.log(zdravo); // Pozdrav Tom let age = 23; let info = `$(ime) ima $(dob) godina`; console.log(info); //Tom ima 23 godine

Za umetanje vrijednosti u niz, to je naramenice, ispred kojeg stoji znak dolara.

Također, umjesto skalarnih vrijednosti mogu se dodati svojstva složenih objekata ili rezultati izraza:

Let tom =( ime: "Tom", dob: 25 ) let info = `$(tom.name) ima $(tom.age) godina`; console.log(info); // Tom ima 23 godine function sum(x, y)( return x + y; ) neka je a = 5, b = 4; neka rezultat = `$(a) + $(b) = $(zbroj(a, b))`; konzola.log(rezultat); // 5 + 4 = 9

Traži u nizu

Za traženje nizova za određeni podniz koriste se metode indexOf() (indeks prvog pojavljivanja podniza) i lastIndexOf() (indeks posljednjeg pojavljivanja podniza). Ove metode uzimaju dva parametra:

    Podniz koji treba pronaći

    Neobavezni parametar koji određuje od kojeg znaka tražiti podniz u nizu

Obje ove metode vraćaju indeks znaka na kojem podniz počinje u nizu. Ako podniz nije pronađen, vraća se broj -1.

Let hello = "zdravo svijete. Zbogom mir"; neka ključ = "svijet"; neka firstPos = hello.indexOf(ključ); neka lastPos = hello.lastIndexOf(ključ); console.log("Prvo pojavljivanje: ", firstPos); // 7 console.log("Zadnje pojavljivanje: ", lastPos); // 17

Druga metoda - include() vraća true ako niz sadrži određeni podstring.

Let hello = "zdravo svijete. Zbogom mir"; console.log(hello.includes("world")); // istina console.log(hello.includes("moment")); // lažno

Uz pomoć drugog dodatni parametar možete definirati indeks od kojeg će započeti traženje podniza:

Let hello = "zdravo svijete. Zbogom mir"; console.log(hello.includes("svijet", 5)); // istina console.log(hello.includes("hello", 6)); // lažno

Izbor podniza

Da biste izrezali podniz iz niza, koristite metode substr() i substring().

Metoda substring() uzima dva parametra:

    indeks znaka u nizu, počevši od kojeg treba smanjiti niz

    indeks na koji treba skratiti niz

let hello = "zdravo svijete. Zbogom mir"; pusti svijet = hello.substring(7, 10); // od 7. do 10. indeksa console.log(world); // svijet

Metoda substr() također uzima početni indeks podniza kao prvi parametar, a duljinu podniza koji treba izrezati kao drugi parametar:

Let hello = "zdravo svijete. Zbogom mir"; neka doviđenja = zdravo.substr(12, 4); console.log(bok); // Pozdrav

Ako drugi parametar nije naveden, tada se ostatak retka skraćuje:

Let hello = "zdravo svijete. Zbogom mir"; neka zbogom = zdravo.substr(12); console.log(bok); // doviđenja mir

Upravljanje registrom

Za promjenu veličine slova postoje metode toLowerCase() (za pretvaranje u mala slova) i toUpperCase() (za pretvaranje u velika slova).

Let hello = "Zdravo Tom"; console.log(hello.toLowerCase()); // zdravo Tom console.log(hello.toUpperCase()); // BOK TOM

Dobivanje simbola po indeksu

Da biste dobili određeni znak u nizu prema indeksu, možete koristiti metode charAt() i charCodeAt(). Obje ove metode uzimaju indeks znakova kao parametar:

Let hello = "Zdravo Tom"; console.log(hello.charAt(2)); // i console.log(hello.charCodeAt(2)); // 1080

Ali ako metoda charAt() vraća sam znak kao rezultat, tada metoda charCodeAt() vraća numerički kod ovog znaka.

Uklanjanje razmaka

Da biste uklonili razmake na početku i na kraju niza, upotrijebite metodu trim():

Let hello = "Zdravo Tom"; let beforeLength = hello.length; zdravo = zdravo.trim(); let afterLength = hello.length; console.log("Duljina retka do: ", beforeLength); // 15 console.log("Duljina retka nakon: ", afterLength); // 10

Ulančavanje nizova

Metoda concat() spaja dva niza:

Neka hello = "Zdravo"; neka svijet = "svijet"; zdravo = zdravo.concat(svijet); konzola.log(zdravo); // Pozdrav svijete

Zamjena podniza

Metoda replace() zamjenjuje prvo pojavljivanje jednog podniza drugim:

Neka hello = "Dobar dan"; bok = bok.replace("dan", "večer"); konzola.log(zdravo); // Dobra večer

Prvi parametar metode određuje koji podniz treba zamijeniti, a drugi parametar specificira kojim podnizom treba zamijeniti.

Razdvajanje nizova

Metoda split() dijeli niz u niz podnizova pomoću određenog graničnika. Razdjelnik je niz koji se prosljeđuje metodi:

Var message = "Vrijeme je danas bilo lijepo"; var stringArray = message.split(" "); for(var str in stringArray) console.log(stringArray);

Izlaz preglednika

Danas je bilo lijepo vrijeme

Provjera početka i kraja retka

Metoda startsWith() vraća true ako niz počinje određenim podnizom. A endsWith() metoda vraća true ako niz završava određenim podnizom.

Neka pozdrav = "dopustite mi da govorim iz srca"; console.log(hello.startsWith("let")); // istina console.log(hello.startsWith("Let")); // false console.log(hello.startsWith("lets")); // false console.log(hello.endsWith("heart")); // istina console.log(hello.startsWith("bart")); // lažno

Velika i mala slova ovdje igraju ulogu, a iz gornjeg primjera možemo vidjeti da "neka" nije ekvivalent "Neka".

Dodatni drugi parametar omogućuje vam da odredite indeks (za startsWith - indeks od početka, a za endsWith - indeks od kraja niza) u odnosu na koji će se napraviti usporedba:

Neka pozdrav = "dopustite mi da govorim iz srca"; console.log(hello.startsWith("me", 4)); // istina, "ja" - 4. indeks od početka retka console.log(hello.startsWith("my", hello.length-8)); // istina, "moj" - 8. indeks od kraja

Kad pišeš JavaScript, vrlo često morate surfati internetom u potrazi za informacijama o sintaksi i parametrima za metode koje rade s nizovima.

Pročitao sam puno članaka o radu s nizovima. Ovaj će post pokazati primjere i kratki opisi najčešće metode za rad sa stringovima. Pokušao sam staviti najčešće metode na vrh za brzu referencu.

Naravno, većina iskusnih programera već će biti prilično upoznata s mnogim tehnikama, ali mislim da je ovo dobar popis za početnike da razumiju niz tehnika koje mogu pomoći u izvršavanju složenih operacija jednostavnim sredstvima.

Pretvaranje u niz

Možete pretvoriti broj, booleov izraz ili objekt u niz:

Var mojBroj = 24; // 24 var myString = myNumber.toString(); // "24"

Možete to učiniti na isti način s Niz():

Var mojBroj = 24; // 24 var myString = String(myNumber); // "24"

Ako niste sigurni koja vrijednost nije ništavan ili nedefiniran, možeš koristiti Niz(), koji uvijek vraća niz, bez obzira na vrstu vrijednosti.

Rastavljanje niza na podnizove

Za razdvajanje nizova u niz podnizova možete koristiti metodu podjela():

Var myString = "razdvojiti se,kod,zareza"; var substringArray = myString.split(","); // ["coming", "apart", "at", "the", "commas"] var arrayLimited = myString.split(",", 3); // ["dolazi", "odvojeno", "u"]

Kao što možete vidjeti u zadnjem retku, drugi parametar funkcije je ograničenje broja elemenata koji će biti u konačnom nizu.

Dobivanje duljine niza

Da bismo pronašli koliko znakova ima niz, koristimo svojstvo duljina:

Var myString = "Ti" si pravi lik."; var stringLength = myString.length; // 25

Pronalaženje podniza u nizu

Postoje dvije metode za traženje podniza:

Korištenje indexOf():

Var stringOne = "Johnny Waldo Harrison Waldo"; var wheresWaldo = stringOne.indexOf("Waldo"); // 7

indexOf() Metoda započinje traženje podniza od početka niza i vraća poziciju početka prvog pojavljivanja podniza. U ovom slučaju - 7. pozicija.

Korištenje lastIndexOf():

Var stringOne = "Johnny Waldo Harrison Waldo"; var wheresWaldo = stringOne.lastIndexOf("Waldo"); // 22

Metoda vraća početnu poziciju posljednjeg pojavljivanja podniza u nizu.

Obje metode vraćaju -1 ako podniz nije pronađen, a obje uzimaju izborni drugi argument koji označava poziciju u nizu gdje želite započeti pretragu. Dakle, ako je drugi argument "5", indexOf() započinje pretragu od znaka 5, zanemarujući znakove 0-4, dok lastIndexOf() započinje pretragu od znaka 5 i radi unatrag, zanemarujući znakove 6 i dalje.

Zamjena podniza

Da biste zamijenili pojavljivanje podniza u nizu drugim podnizom, možete koristiti zamijeniti():

Var slugger = "Josh Hamilton"; var betterSlugger = slugger.replace("h Hamilton", "e Bautista"); console.log(betterSlugger); // "Jose Bautista"

Prvi argument je ono što želite zamijeniti, a drugi argument je novi red. Funkcija zamjenjuje samo prvo pojavljivanje podniza u nizu.

Da biste zamijenili sva pojavljivanja, trebate koristiti regularni izraz s globalnom zastavom:

Var myString = "Ona prodaje automobilske školjke na automobilskoj obali"; var newString = myString.replace(/automotive/g, "more"); console.log(newString); // "Ona prodaje školjke na obali mora"

Drugi argument može uključivati ​​poseban predložak ili funkciju. Možete pročitati više.

Dobiti znak na zadanoj poziciji u nizu

Pomoću funkcije možemo dobiti simbol charAt():

Var myString = "Ptice od perja"; var whatsAtSeven = myString.charAt(7); // "f"

Kao što je to često slučaj u JavaScriptu, prva pozicija u nizu počinje s 0, a ne s 1.

Kao alternativnu funkciju možete koristiti charCodeAt() funkcija, što je šifra znaka.

Var myString = "Ptice od perja"; var whatsAtSeven = myString.charCodeAt(7); // "102" var whatsAtEleven = myString.charCodeAt(11); // "70"

Imajte na umu da se kod za znak "F" (pozicija 11) razlikuje od koda za znak "f" (pozicija 7).

Ulančavanje nizova

U većini slučajeva možete koristiti operator "+" za spajanje nizova. Ali također možete koristiti metodu concat():

Var stringOne = "Knibb Visoki nogomet"; var stringTwo = stringOne.concat("pravila."); // "Knibb High nogometna pravila"

Na ovaj način možemo kombinirati mnoge retke u jedan redoslijedom kojim su napisani:

Var stringOne = "Knibb"; var stringTwo = "Visoko"; var stringThree = "nogomet"; var stringFour = "pravila."; var finalString = stringOne.concat(stringTwo, stringThree, stringFour); console.log(finalString); // "Knibbova visoka nogometna pravila."

Ekstrakcija podniza

Postoje 3 načina za dobivanje niza iz dijela drugog niza:

Korištenje kriška():

Var stringOne = "abcdefghijklmnopqrstuvwxyz"; var stringTwo = stringOne.slice(5, 10); // "fghij"

Korištenje podniz():

Var stringOne = "abcdefghijklmnopqrstuvwxyz"; var stringTwo = stringOne.substring(5, 10); // "fghij"

U obje funkcije, prvi parametar je znak na kojem podniz počinje (počevši od pozicije 0), a drugi argument (neobavezno) je položaj znaka do kojeg se podniz vraća. Primjer (5, 10) vraća niz između pozicija 5 i 9.

Korištenje substr():

Var stringOne = "abcdefghijklmnopqrstuvwxyz"; var stringTwo = stringOne.substr(5, 10); // "fghijklmno"

Prvi argument je položaj znaka na kojem počinje novi red, a drugi argument je broj znakova od početne pozicije novog retka. Oni. (5, 10) vraća 10 znakova, počevši od pozicije 5.

Pretvorite niz u velika ili mala slova.

Postoje 4 metode za prevođenje. Prva dva pretvaraju niz u velika slova:

Var stringOne = "Govori, ne čujem te."; var stringTwo = stringOne.toLocaleUpperCase(); // "GOVORI, NE ČUJEM TE" var stringThree = stringOne.toUpperCase(); // "GOVORI, NE ČUJEM TE"

Druga 2 pretvaraju niz u mala slova:

Var stringOne = "NE MORAŠ VIKATI"; var stringTwo = stringOne.toLocaleLowerCase(); // "ne moraš vikati" var stringThree = stringOne.toLowerCase(); // "ne moraš vikati"

Bolje je koristiti metode "locale", jer... na različitim mjestima, na primjer, u Turskoj, prikaz registara ne radi baš onako kako smo navikli i stoga rezultat može biti onakav kakav smo željeli. Ako koristite metode "locale", tada neće biti takvih problema.

Usklađivanje uzoraka

Usklađivanje uzorka na nizu može se izvršiti pomoću 2 metode koje rade različito.

metoda odgovara() primjenjuje se na niz i uzima regularni izraz kao parametar:

Var myString = "Koliko bi drva mogla stezaljka za drvo"; var myPattern = /.ood/; var myResult = myString.match(myPattern); // ["wood"] var patternLocation = myResult.index; // 9 var originalString = myResult.input // "Koliko bi drva moglo stegnuti steznu glavu"

metoda exec() primjenjuje se na objekt regularnog izraza i uzima niz kao parametar:

Var myString = "Koliko bi drva mogla stezaljka za drvo"; var myPattern = /.huck/; var myResult = myPattern.exec(myString); // ["chuck"] var patternLocation = myResult.index; // 27 var originalString = myResult.input // "Koliko drva bi drvena glava mogla stegnuti"

U obje metode vraća se samo prvo podudaranje. Ako nema podudaranja, vraća se ništavan.

Također možete koristiti metodu traži() koji uzima regularni izraz i vraća poziciju prvog podudaranja u uzorku:

Var myString = "Pretpostavi"; var patternLocation = myString.search(/ume/); // 3

Ako nije bilo utakmica, " -1 «.

Uspoređivanje dva niza za sortiranje

Možete usporediti 2 niza kako biste odredili koji je prvi u abecedi. Da bismo to učinili, koristit ćemo metodu localeCompare() koji vraća 3 moguće vrijednosti:

Var myString = "kokoš"; var myStringTwo = "jaje"; var whichCameFirst = myString.localeCompare(myStringTwo); // -1 (Chrome vraća -2) whichCameFirst = myString.localeCompare("chicken"); // 0 whichCameFirst = myString.localeCompare("jabuka"); // 1 (Chrome vraća 2)

Kao što je gore prikazano, negativan broj se vraća ako argument niza dolazi nakon originalnog niza. Pozitivan broj, ako argument niza dolazi prije originalnog niza. Ako se vrati 0 - znači da su linije jednake.

Za provjeru povratne vrijednosti bolje je koristiti if (result< 0), чем if (result === -1). Последнее не будет работать в Chrome.

Hvala vam na pažnji, nadam se da ste naučili puno novih i zanimljivih stvari!

Autor članka: Alex. Kategorija:
Datum objave: 19.03.2013

reci prijateljima
Pročitajte također