JavaScripti massiivi meetodid. Konkreetse elemendi eemaldamise demonstreerimine splaissimismeetodi abil

Tere, JavaScripti austajad. Olete juba märganud, et see keel on väga erakordne ja igas jaotises paistab see silma oma omaduste ja ebatavaliste tehniliste lahenduste poolest. Seetõttu on tänane väljaanne pühendatud teemale "JavaScripti ümardamine".

Pärast käesoleva artikli lugemist saate teada, miks on vaja numbreid ümardada, millised meetodid ja omadused js-s seda funktsiooni täidavad ning ka see, mis eristab 0-ga jagamist. Oma põhimõtteid muutmata lisan näiteid numbri põhipunktide juurde. materjali ja kirjeldage iga toimingut üksikasjalikult. Nüüd hakkame õppima!

Olulised märkused numbrite kohta

Esiteks pidage meeles, et js-s kuuluvad sellesse tüüpi kõik arvud (murd- ja täisarvud). Number. Lisaks on need kõik 64-bitised, kuna need on salvestatud kahekordse täpsusega vormingus, mida tuntakse ka kui IEEE-754 standardit.

Numbrilised muutujad luuakse tavapärasel viisil:

var numb = 35; // naturaalarv

var drob = 0,93; //kümnendkujutis

var numb16 = 0xFF; //Kuueteistkümnendsüsteemi numbrite süsteem

Toetab muid numbrilisi esitusi. Seega saate luua ka ujukoma numbreid (neid nimetatakse mõnikord "teaduslikeks numbriteks").

Nüüd on toetus väga huvitavale meetodile toLocaleString(), mis vormindab kõik numbrilised parameetrid vastavalt standardis ECMA 402 ette nähtud spetsifikatsioonidele. Tänu sellele kuvatakse dialoogiboksis kaunilt suured numbrid, telefoninumbrid, valuutad ja isegi protsendid.

var num = 714000,80;

alert(number.toLocaleString());

Number tüüpi elementidega töötamiseks varustati terve globaalne objekt hunniku erinevate matemaatiliste funktsioonidega, mille nimi matemaatika.

Lisaks on ka teisi meetodeid, mis ümardavad arvväärtused täisarvudeks, kümnendikuteks, sajandikuteks jne. Vaatame neid kõiki üksikasjalikumalt.

Suur ja vägev matemaatika

Globaalne matemaatikaobjekt sisaldab tohutul hulgal matemaatilisi ja trigonomeetrilisi funktsioone. See on väga vajalik objekt ja aitab sageli arendajaid digitaalsete andmetega töötamisel.

Matemaatika analooge on ka teistel platvormidel. Näiteks populaarsetes keeltes, nagu Java ja C#, on matemaatika klass, mis toetab kõiki samu standardfunktsioone. Nagu näete, on see instrument tõeliselt suurepärane ja võimas.

Nüüd tahan läbida konkreetsed ümardamise eest vastutavad meetodid ja rääkida neist üksikasjalikult.

Math.floor()

Alustan sellest matemaatika.korrus. Pöörake tähelepanu meetodi nimele. Loogiliselt saab selgeks, et kuna me räägime ümardamisest ja sõna "põrand" sõnasõnaline tõlge tähendab "põrandat", ümardab see tööriist töödeldud väärtused allapoole.

Samuti on võimalik, et selle funktsiooni abil töödeldav arv jääb samaks. Selle põhjuseks on asjaolu, et ümardamine toimub vastavalt mitterangele ebavõrdsusele (<=). Таким образом, при отработке этой строчки кода:

hoiatus(Math.floor(4.5));

vastus on number 4.

Math.ceil()

Jällegi vaata nimetust (nii imendub materjal kiiremini). Kui keegi ei tea, siis "lagi" tähendab "lagi". See tähendab, et arvandmed ümardatakse üles, kasutades mitteranget ebavõrdsust (>=).

hoiatus(Math.ceil(4.5));

Nagu arvata võis, on vastuseks number 5.

Math.round()

See meetod ümardab murdosa lähima täisarvuni. Seega, kui murdosa on vahemikus 0 kuni 0,5 (ei kaasa arvatud), toimub ümardamine väiksema väärtuseni. Ja kui murdosa on vahemikus 0,5-st kuni järgmise täisarvuni, siis ümardatakse see suuremaks täisarvuks.

hoiatus(Math.round(4.5));

Loodan, et kõik arvasid või ütlesid, et õige vastus on 5.

Veel paar meetodit

JavaScriptil on ka veel 2 meetodit, mis tegelevad numbriliste esituste ümardamisega. Siiski on need mõnevõrra erinevad.

Räägime sellistest tööriistadest nagu fikseeritud() Ja täpsus(). Nad ei vastuta mitte ainult ümardamise eest, vaid ka selle täpsuse eest teatud tähemärkide suhtes. Kaevame sügavamale.

fikseeritud()

Selle mehhanismi abil saate määrata, mitme kümnendkohani väärtus ümardada. Meetod tagastab tulemuse stringina. Allpool olen lisanud valiku kolme erineva valikuga. Analüüsige saadud vastuseid.

var num = 5656,9393;

document.writeln(number.toFixed()); // 5657

document.writeln(number.toFixed(2)); // 5656.94

document.writeln(number.toFixed(7)); // 5656.9393000

Nagu näete, kui te argumenti ei määra, ümardab toFixed ()) murdosa väärtuse tervikule numbrid. Kolmas rida on ümardatud kuni 2 tähemärki, ja neljandasse lisati parameetri “7” tõttu veel kolm 0-d.

täpsus()

See meetod töötab veidi teisiti. Argumendi asemel võite jätta tühja ruumi või määrata parameetri. Kuid viimane ümardab arvud määratud arvu numbriteni, sõltumata komast. Siin on programmi saadud tulemused, mis on eelmisest näitest ümber kirjutatud:

var num = 5656,9393;

document.writeln(num.toPrecision()); // 5656.9393

document.writeln(num.toPrecision(2)); // 5,7e+3

document.writeln(num.toPrecision(7)); // 5656.939

0-ga jagamise funktsioon js-s

Nagu te matemaatikatundidest teate, ei saa te nulliga jagada. Enamik programmeerimiskeelte loojaid võttis selle reegli aluseks. Seetõttu genereerivad kõik programmid nulliga jagamisel vea.

Kuid JavaScript on siingi suurepärane. Nii et sellise toimingu sooritamise ajal veateateid ei teki... kuna selline toiming naaseb "Lõpmatus"!

Miks see nii on? Nagu on teada samadest matemaatikateadustest, mida väiksem on jagaja, seda suurem arv. Seetõttu otsustasid selle prototüübile orienteeritud keele loojad mallidest loobuda ja minna oma teed.

Neile, kes puutuvad Infinity väärtusega esimest korda kokku, selgitasin allpool selle funktsioone.

Lõpmatus – tähendab lõpmatust ja vastab täielikult matemaatilisele märgile ∞.

Võib olla negatiivne. Säilitatakse ka kõik aritmeetiliste operaatoritega töötamise standardreeglid.

hoiatus (12/ 0); // Lõpmatus

hoiatus(12.34/ 0); // Lõpmatus

hoiatus (-3/ 0); // -Lõpmatus

Ma arvan, et ma lõpetan siin. Kui teile väljaanne meeldis, tellige kindlasti minu ajaveebi. Ärge olge ahne huvitavate artiklite linkidega ja jagage neid oma sõpradega. Headaega!

Sisseehitatud JavaScripti meetodite kõiki eeliseid saab hinnata ainult siis, kui mõistate õigesti, kuidas need töötavad. Selles artiklis vaatleme kolme meetodit: slice (), splaiss() Ja split (). Isegi kogenud arendajad ajavad nad sageli segadusse, võib-olla seetõttu, et kõik kolm nime on nii sarnased.

Õpilased ja edasipürgivad arendajad: lugege see artikkel hoolikalt läbi – teilt võidakse intervjuu ajal küsida nende kolme meetodi kohta.

Lõpust leiate teabe kokkuvõtte kõigi kolme meetodi kohta. Alustame.

Massiivid JavaScriptis

Kõigepealt peate mõistma, kuidas JavaScripti massiivid töötavad. Nagu teisteski programmeerimiskeeltes, kasutatakse massiive mitme andmeühiku salvestamiseks. Erinevus seisneb selles JavaScripti massiivid võivad sisaldada korraga mitut andmetüüpi.

Selliste massiividega töötamiseks vajame JavaScripti meetodeid: näiteks slice () & splaiss(). Saate luua sellise massiivi:

Olgu arrayDefinition = ; // Massiivi deklaratsioon JS-is

Nüüd loome teise massiivi erinevat tüüpi andmetega:

Olgu massiiv = ;

JavaScriptis saate luua massiive erinevate andmetüüpidega: numbrid, stringid ja tõeväärtused.

Slice ()

meetod slice () kopeerib massiivi määratud osa ja tagastab selle kopeeritud osa uue massiivina. Algne massiiv ei muutu.

Array.slice(alates, kuni);

  • Alates: Viilutab massiivi alustades Koos see element
  • Kuni: Tükeldab massiivi selle elemendini

Näiteks tahan ülalmainitud massiivist viilutada kolm esimest elementi. Massiivi esimene element on alati tähistatud 0-ga, seega parameetrina alates Ma märgin 0.

Massiiv --> 1 // kaasatud massiiv --> 2 // kaasatud massiiv --> 3 // kaasatud massiiv --> "tere maailm" // ei sisaldu

Siin võivad asjad segaseks minna! Sellepärast andsin teada "kuni"

Olgu newArray = array.slice(0, 3); // Tagastusväärtus on samuti massiiv

Lõpuks loon uue massiivi ja seon selle muutujaga uusArray. Vaatame tulemust:

Massiivi viilutamine ja elementide lisamine uude massiivi


Muutuja newArray muutub uueks massiiviks, algne massiiv jääb muutumatuks.

Oluline märkus: meetod Slice () saab kasutada ka sees read.

Splice ()

Selle meetodi nimi on sarnane slice (): Arendajad lähevad selliste sarnaste nimedega sageli segadusse. meetod splaiss() lisab ja eemaldab massiivi elemente, seda muutes. Vaatame, kuidas meetodi abil elemente lisada ja eemaldada splaiss():

Üksuste eemaldamine

Üksuste eemaldamiseks sisestage üksus, millest soovite alustada ( indeks) ja eemaldatavate elementide arv (elementide arv):

Array.splice(indeks, elementide arv);

Parameeter Indeks  - See alguspunkt elementide eemaldamine. Seerianumbriga elemendid vähem määratud indeksi parameetrit ei kustutata:

Array.splice(2); // Iga element, mis algab indeksist 2, eemaldatakse

Kui te teist parameetrit ei määra, eemaldatakse kõik elemendid määratud indeksi parameetrist kuni lõpuni:

Teise näitena määrasin teise parameetrina 1: seega iga kord, kui meetodit korratakse splaiss() eemaldab ühe elemendi korraga, alustades teisest:

Array.splice(2, 1);

Massiiv enne splice() meetodit

Splice() rakendatakse üks kord:

Element 3 eemaldatakse: seetõttu on elemendil "tere maailm" nüüd indeks number 2

Splice() rakendatakse kaks korda:

Seekord eemaldati element "tere maailm", kuna selle järjekorranumber on 2

Seda saab jätkata, kuni seerianumbriga 2 pole enam ühtegi elementi.

Elementide lisamine

Elementide lisamiseks kasutades splaiss(), peate need sisestama kolmanda, neljanda ja viienda elemendina (olenevalt sellest, kui palju elemente peate lisama):

Array.splice(indeks, elementide arv, element, element);

Näitena lisame elemente a Ja b massiivi päris algusesse:

Array.splice(0, 0, "a", "b");


Elemendid a ja b lisatakse massiivi algusesse

Split()

meetodid Slice () Ja splaiss() kasutatakse massiivide jaoks. meetod split () jaoks kasutatakse read. See jagab stringi alamstringideks ja tagastab need massiivina. Sellel meetodil on 2 parameetrit ja mõlemad ei pea täpsustama.

String.split(eraldaja, piir);

  • Eraldaja: määrab, kuidas string jagatakse alamstringideks: koma, märk jne.
  • Piirang: piirab alamstringide arvu etteantud arvuga

meetod split () ei tööta otseselt massiivid. Siiski saate esmalt teisendada massiivi elemendid stringideks ja seejärel rakendada meetodit split ().

Vaatame, kuidas see toimib.

Esiteks teisendame massiivi stringiks, kasutades meetodit toString():

Olgu myString = array.toString();

Seejärel jagame rea pooleks myString komad ja piirata alamstringide arvu kolm. Seejärel teisendame stringid massiiviks:

Olgu newArray = myString.split(",", 3);

Esimesed 3 elementi tagastati massiivina

Seega massiivi elemendid myString komadega eraldatud. Seadsime limiidiks 3 alamstringi, seega tagastati esimesed 3 elementi massiivina.

Märge: Kasutades käsku array.split(""); Saate kõik stringi märgid jagada alamstringideks.


Kõik märgid on jagatud alamstringideks

Abstraktne:

Slice ()

  • Kopeerib massiivi elemente
  • Tagastab need uude massiivi
  • Ei muuda algset massiivi
  • Tükeldab massiivi, kasutades parameetreid alates ja kuni: array.slice (alates, kuni)
  • Ei sisalda punktis määratud parameetrit "kuni"
  • Kasutatakse nii massiivides kui ka stringides

Splice ()

  • Lisab ja eemaldab massiivi elemente
  • Tagastab eemaldatud elementide massiivi
  • Muudab massiivi
  • Elementide lisamine: array.splice(indeks, elementide arv, element)
  • Üksuste eemaldamine: array.splice(indeks, elementide arv)
  • Kasutatakse ainult massiivides

Split()

  • Jaotab stringid alamstringideks
  • Tagastab need massiivina
  • 2 parameetrit, mis mõlemad on valikulised: string.split(eraldaja, piirang)
  • Ei muuda algset stringi
  • Kasutatakse ainult stringides

JavaScriptil on palju muid sisseehitatud meetodeid massiivide ja stringidega töötamiseks. Kui olete õppinud neid kasutama, muutub programmeerimine palju lihtsamaks.