niz = "LOL"; console.log(string.includes("lol")); // vraća false console.log(string.includes("LOL")); // vraća trueMetoda 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.
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 oznakesvojstvo 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 nizametoda 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 nizametoda 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 nizametoda 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 nizametoda 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 nizametoda 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 nizametoda bilo koji niz izraza concat
objekt + .concat( + linija0 + + linija 1vrać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 nizametoda .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 nizametoda 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 nizametoda 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 nizametoda 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 nizametoda 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 nizametoda 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 linijametoda 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 izrazmetoda 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 linijametoda 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 nizametoda 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 nizametoda š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 nizametoda 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 nizametoda 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 nizametoda .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 nizametoda 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 linijametoda 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
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