KombiyuutaradaBarnaamijyada

JavaScript-soo diyaariyeen oo ay abuurista. All oo ku saabsan Arrays JavaScript

In this article waxaan ka fiirsan doonaa arrimo JavaScript, qaybaha ay. JavaScript waa luuqad qoraal ah oo loogu talagalay barnaamijka loogu talagalay. Xaqiiq ahaan, waxay fulineysaa luqadda ECMAScript (heerka ECMA-262).

Xagee loo adeegsadaa JavaScript? Waxaa loo adeegsadaa sidii luqad loo adeegsado si loo go'aamiyo wadada software-ka ee shayga codsiga. Waxaa laga heli karaa daalacayaasha: waxaa loo adeegsadaa luqad qoraal ah oo ku siinaya bogaga internetka isdhexgalka.

Noocyada ugu muhiimsan ee dhismaha ee sheygani waa calaamad firfircoon oo daciif ah, maaraynta xasuusta tooska ah, barnaamijka habboon, hawlaha kuwaas oo ah sheyga qaybta koowaad.

Guud ahaan, JavaScript ayaa saameeyay sababo kala duwan, sababtoo ah horumarinta waxay rabeen in ay abuuraan luqad la mid ah Java, laakiin si fudud u adeegsiga barnaamijyadaa. Sida loola jeedo, luuqadda JavaScript ma leh shirkad ama urur, taas oo ka dhigaysa qaabab badan oo software ah oo ay isticmaalaan kuwa horumariya websaydhka.

Waa in la ogaadaa in JavaScript uu yahay diiwaan gashan shirkadda Oracle Corporation.

Waa maxay array?

Loo yaqaan isugu soo nooca xogta, taas oo qabaneysa qiimaha tiriyey. Qiimaha mid kasta oo la mid ah waxaa lagu magacaabaa qayb ka mid ah arrimahan, iyo lambarka loo yaqaan 'component' oo la xidhiidha waxaa loo yaqaan 'index'. Qaybta jamacadu waa mid aan la qorin. Tani waxay ka dhigan tahay in faahfaahinta dukumiiyadu ay lahaan karaan nooc kasta, iyo qaybo kala duwan oo ka tirsan arrimo isku mid ah ayaa leh noocyo gebi ahaanba duwan.

Intaa waxaa dheer, arrintani waxay noqonaysaa mid firfircoon, taas oo macnaheedu yahay inaan loo baahnayn in lagu dhawaaqo cabbir go'an. Kadib dhamaan, waxaad ku dari kartaa qaybo cusub waqti kasta.

Wax soo saarka soo saarida

Isticmaalka luuqadda JavaScript, abuurista array ma ahan mid dhib badan. Waxaa jira laba hab oo arinkan loogu talagalay. Marka hore waxa ay ku lug leedahay arrimo qeexan oo leh garaafyo, iskudhaf ah, kaas oo ah liisto qaybo kala duwan, oo ay kala soo baxaan malawadka.

  • Haa madhan = []; // Array banaan;
  • Warqadaha = = 4, 1, 2, 5]; // arrimo leh shan qaybood oo digital ah;
  • Var diff = [1.5, been, "text"]; // array leh saddex nooc oo noocyo kala duwan ah.

Caadi ahaan, uma baahna in qiimaha uu noqdo mid fudud (xarig iyo lambaro). Waxay kaloo noqon kartaa ereyo kale, tusaale ahaan mawduuca mawduuca, hawlaha kale iyo arrimo kale.

Qaabka labaad ee loo abuuro array waa inay wacdo naqshadeeye (Array). Waxaad ku casumi kartaa seddex siyood:

  • U yeedhida naqshadeeye iyada oo aan dood: var b - Array cusub (). Halkan, waxaa la abuuraa arrin faaruq ah oo u dhigma mug-madlan [].
  • Qaadistu waxay si cad u leedahay qiyamka n ee qaybaha kala duwan: var b = Cusub cusub (1, 3, 5, 8, "xaraf", run ah). Xaaladdan oo kale, naqshadeeye ayaa la soo bandhigay liiska doodaha oo u jeeda qaybo ka mid ah arrimo cusub. Doodaha waxaa lagu qoraa arrin ku taal meesha ay ku qoran yihiin.
  • Qeexaan baaxadda loogu talagalay ku-meelaynta qiyamka. Tan waxaa loo sameeyaa iyada oo la qeexayo tiro hal lambar oo kuxirsan xayndaabyada: b b = Cusub cusub (5). Nidaamkan lagu ogaanayo waxaa loola jeedaa qoondaynta tirada qaybaha loo baahan yahay (mid kasta oo ku qoran liiska aan la garanayn) iyada oo suurtagal ah in lagu soo koobo qiimaha xigta ee geedi socodka bandhigidda. Foomka noocan oo kale ah waxaa badanaa loo isticmaalaa in la horgeeyo jadwalka javascript oo dhererkiisu hore u yaqaan.

Qor, akhri, oo ku dar faahfaahinta arrin

Waxaad ka heli kartaa qaybaha daaqada iyadoo la adeegsanayo operatorka [operator]. By habka, dhammaan qaybaha JavaScript, laga bilaabo eber, waa la tiriyay. Si aad u hesho arrimaha loo baahan yahay, ayaa tilmaamaya in ay tirada ku dhxe square. Sida caadiga ah, faahfaahinta waa la bedeli karaa. Iyo in lagu daro jadwalka arrin, kaliya ku qor qiime cusub.

Waa in la ogaadaa in arrimo jadwalka waxaad ku kaydin kartaa tiro kasta oo ka mid ah qaybaha nooc kasta.

Muddada dhererka

Sidaa daraadeed, waxaan ognahay jagada Jav. Dhererka arraygu guud ahaan waa dhacdo xiiso leh. Aan ka fekerno faahfaahin dheeraad ah. Dhamaan arrimaha, labadaba waxaa lagu naqshadey caawinaada Naqshadeeye (Array), oo lagu qeexay qeexida qeexida, waxay leedahay hanti gaar ah oo xasuusta tirada guud ee waxyaallaha la keydiyay. Maaddaama ay jiraan faahfaahin aan la garanayn oo ku saabsan array (oo lagu tilmaamay mid aan la garanayn), codad tilmaansan oo dheeri ah oo sidan oo kale ah: tayada dhererka ayaa had iyo jeer ka weyn mid ka mid ah tirada ugu weyn (index) ee qaybaha array. Dhererka tayada si toos ah ayaa loo hagaajiyaa, oo ka hadhsan marka saxafka cusub uu ka muuqanayo dusha.

Si aad u muujiso qaybta kama dambaysta ah ee array, waxaad isticmaali kartaa hantida dhererka.

Faahfaahinta ugu dambeysa waxay leedahay tusmeyn mid ka mid ah xajmiga arrin. Kadibna, tirinta markasta waxay ka bilaabataa xoqid. Oh, waa JavaScript! Dhererka dhererka wuxuu kuxiran yahay tirada saxda ah ee astaamaha. Sidaa darteed haddii aadan garanayn inta le'eg ah ee ay tahay inay noqoto, laakiin waxaad u baahan tahay inaad tixraacdo qaybta raadinta ee array, waxaad u baahan tahay inaad codsato gelitaanka: v.length - 1.

Faahfaahinta taxanaha

Inta badan hantida dhererka waxaa loo adeegsadaa in lagu tiriyo faahfaahinta array ee wareegga:

  • Midabyo = ["strawberry", "miro", "tufaax", "muuska"];
  • Wixii (var I = 0; i
  • Document.write (miraha [i] + "...").

Tusaalahan, waxay u muuqataa in qaybaha si joogto ah loo dhigo oo ay ka bilaabmaan qaybta koowaad ee leh lahaanshaha shaxda hoose. Haddii tani aysan ahayn kiis, ka hor inta aanad soo wicin walxaha kala duwan ee arrintan, waa lagama maarmaan in la hubiyo in la qeexay.

Xadidaad ayaa sidoo kale loo isticmaalaa si loo bilaabo qaybaha.

Kordhinta iyo soo gaabinta array

Waxaan la yaabanahay sida isticmaalka luuqadaha JavaScript-ka ee jadwalka si loo daro? Marka la eego habka loo shaqeeyo arrays, tayada dhererka dhererka si toos ah ayuu u hagaajiyaa, taasina waa sababta aan u daryeelleyno nafteena. Waxaa lagama maarmaan ah in la xasuusto hal faahfaahin: hantida dhererka lama qori karo oo keliya, laakiin sidoo kale qorista. Haddii dhererka tayada loo qoondeeyey qiime ka hooseeya xajmiga hadda, ka dibna array ayaa loo yareeyaa qiimaha cayiman. Qayb kasta oo aan ku jirin taxanayaal cusub ayaa la qabtaa, qiimaha ayeey lumaan, xitaa haddii dib loo soo celiyo dhererka - qiimaha dib looma soo celin.

Way fududahay in la cadeeyo arrintan oo kale sidan: foo.length = 0.

Haddii tayada dhererka uu ka weyn yahay qiimaha hadda, dhamaadka qaybaha, qaybaha cusub ee aan la tirtirin ayaa muuqda, taas oo kordhin doonta cabbirka la doonayo.

Tafaasiisha faahfaahinta arrintan

Hawlwadeenka tirtiraha wuxuu qeexayaa qiimaha aan qarsooneyn ee qeybta arrimuhu, waana sii socdaa. Haddii aad rabto inaad tirtirto qayb ka mid ah jaantusyada JavaScript si marka faahfaahinta soo hartay loo wareejiyo booska bannaan, waxaad u baahan tahay inaad isticmaasho mid ka mid ah hababka saadaalinta ee la saadaaliyay. Habka "Array.shift" () ayaa baabi'inaya qaybta ugu horreysa, pop () waa qaybta joojinta, habka xayndaabkuna waa mid ama qaybo kala duwan oo ah meel kasta oo ka mid ah array.

Daabacaadyo badan oo kala duwan

Waxa ay u muuqataa in aynu ku fahmi yar, waxa JavaScript. Qalabka laba-cabbir ah - taasi waa waxa loo baahan yahay in la tixgeliyo. Ma xusuusataa in arrimahaa Javigu ay ku jiri karaan waxyaabo kale oo qayb ahaan ah? Qalabkan waxaa loo isticmaalaa in lagu soo saaro arrimo kala duwan. Si aad u soo booqato qaybaha arrimo kala duwan, waxaa ku filan inaad ku daboosho maro kala duwan laba jeer.

Qaybaha isbahaysiga

Oo hadda waxaan baran doonaa sida loo isticmaalo qaababka kala duwan ee joomarka ee Jarmalka. Taas awgeed, waxaan u baahannahay inaan aragno aragtida: arrimo isku dhafan ayaa mararka qaarkood loo yaqaannaa miisaska hadhuudhka. Waxay isticmaalaan xariiqyo halkii ay ka muuqan lahaayeen. Isticmaalka dhismayaasha noocaas ahi waxay u egyihiin isticmaalka magaca hantida fudud, laakiin marka la eego qaabkan marka la qabadsiinayo qaab shaqo ah. Maadaama jimciyadu aysan haysan habab loo xakameynayo arrimo la wadaago, waxaa loo isticmaalaa waxoogaa ka yar kuwa caadiga ah. Waa in la ogaadaa inay wali ku fiicnaan karaan kaydinta xogta oo ay fududeeyaan in la xasuusto faahfaahinta aad u baahan tahay si aad u hesho.

Natiijada Soo-saarista

Oo haddaba maxaynu baran doonaa nidaamka JavaScript? Hirgalinta array ee sanduuqa wada-hadalka (shaashadda muraayada), iyo sidoo kale muujinaya qiimaha qaybaha arraytka.

Haddii barnaamijku u baahan yahay inuu muujiyo qiimaha dhammaan qaybaha, ka dibna waxaa habboon in la isticmaalo bayaankan. Waxaa xiiso leh in macaamili-variable-ka ee xeerarka loo isticmaalo sida index of qayb ka mid ah array.

Nadiifinta

Si aad u xayeysiiso jaantuska JavaScript, waxaad u baahan tahay inaad tirtirto dhererkeeda:

  • Var myArray = [1, 2, 5, 23];
  • MyArray.length = 0.

Waxyaabaha soo socda ayaa muujinaya hirgelinta nadiifinta () meeleeynta ee qaab-dhismeedka Prototype Javis:

  • Caddeyn: shaqeyn () {;
  • This.length = 0;
  • Ku soo celi tan;
  • }.

Kordhinta iyo Ka Saarida Qeybaha

Waa hagaag, waan sii wadaynaa inaan barano luqaddan xiisaha leh ee JavaScript. Qeybta array waa la tirtiri karaa isla markaana lagu darayaa si la mid ah sida sifooyinka caadiga ah ee alaabta kale. Laakiin waxaa jira kala duwanaansho qaar: marka lagu daro sifooyinka lambarrada, tayada dhererku waa isbedeli karaa, iyo marka hantida la beddelo, tayada tirooyinka waa la tirtiri karaa. Mabda 'ahaan, algorithm ee dejinta tayada ee array waa sida soo socota:

  • Marka lagu daro hanti aan la garanayn i, haddii dhererku uu le'eg yahay ama ka yar yahay i, dhererka waxaa lagu qeexay i + 1.
  • Markaad bedesho tayada dhererka, tallaabooyinka soo socda ayaa la sameeyaa: haddii qiimaha la qoondeeyey uu ka yar yahay eber, RangeError ayaa la tuurayaa. Ka tiri dhammaan tayada tirooyinka iyo indices, kuwaas oo u dhigma dhererka cusub iyo kuwa ka weyn.

Guud ahaan, ka saari qaybta jaantuska JavaScript ma aha mid adag. Ka dib oo dhan, xitaa dejinta dhererka, waxaad u baahan tahay inaad ka saarto qaybaha "dheeraad ah" ka. Sidaa awgeed xulashada nadiifinta dharka. Haddii isbeddelka loo qoondeeyey ee xayiraad cusub oo faahfaahsan sababaha qaarkood looma dhicin, laakiin waa lagama maarmaan in la tirtiro midka hadda jira, waa ku filan in lagu qiimeeyo eber in tayadiisa.

Nidaamyadu ma badna, isbeddel, foori iyo riix

Inkasta oo qaybaha kala duwan ee isbeddelka lagu bedelayo, qaar badan ayaa kugula talinaya inaad isticmaasho hababka dhisay-kan. Waa caqligal taas oo damaanad qaadaya qiimaha saxda ah ee dhererka tayada iyo maqnaanshaha kala-tagista ee arraytka. Marka la eego, dhererka saxda ah wuxuu u dhigmayaa tirada qaybaha.

Habka riixitaanka wuxuu xambaarsan yahay qaybaha loo wareejiyey dhamaadka qaybaha. Nidaamka hababka ayaa ku soo noqda qaybta xakamaynta oo ka tirtirta.

Guud ahaan, Internet Explorer oo ka hooseysa fasalka sideedaad, wax-qabad la'aantu waxay ku noqon kartaa mid aan qarsoodi ahayn, daalacayaasha kale - qiimo cusub oo dherer ah. Sidaas awgeed way ka fiicnaanaysaa inaysan ku tiirsanayn qiimaha soo noqoshada oo aan ka jirin.

Ku darista iyo ka saari qaybaha dhexda ee array

Haddii aad u baahan tahay inaad tirtirto arrin JavaScript, maxaan sameeyaa? Waxaa la ogyahay in habka kala qaybinta ay leedahay saxiixa Array.prototype.splice.

Waxay ka tirtirtaa arrintan tirtirka tirtirka ee qaybaha, laga bilaabo bilawga. Haddii in ka badan laba doodood oo la soo gudbiyo, ka dibna dhammaan doodaha ku xiga arrimahan ayaa la dhigayaa halkii laga tirtiri lahaa kuwa la tirtiray. Haddii bilawga laga yareeyo, ka dib marka la eego dakhliga soo noqoshada uu dib u bilaabmi doono waxay la mid tahay dhererka + bilawga. Ku noqosho arraygu wuxuu ka soo jeedaa walxaha fog.

Xaqiiqdii, adoo isticmaalaya habka kala-soocida, waxaad ka saari kartaa qaybaha dhexe ee array ama waxaad ku dari kartaa lambar kasta meel kasta ee array.

Qeybta ugu fudud, haddii aad rabto in aad ka saarto qayb ka mid ah index i, waxaad u baahan tahay inaad weydiiso array ee habka kala-soocida leh xuduudaha i iyo 1.

Mabda 'ahaan, calaamadda labaad ee qaabka la isku daro ma aha mid qasab ah, laakiin habdhaqanka shaqa leh hal muran ee browser kasta.

Tusaale ahaan, Firefox, qaababka ugu dambeeya ee Opera, Safari iyo Chrome, dhammaan faahfaahinta ayaa laga saari doonaa dhamaadka qaybaha.

IE, ma jiro wax la tirtiro. Marka la eego kala duwanaanta hore ee Opera, habdhaqanka lama saadaalin karo - hal shay oo leh taxanaha bilawga ah ayaa laga saari doonaa, sidaa daraadeed, had iyo jeer waa lagama maarmaan in loo wareejiyo ugu yaraan laba qaybood oo qaabkan.

Furayaal

Dabcan, marka aad baraneyso Javascript, arrimo la xidhiidha, sida hore loogu soo sheegay, waa inaan sidoo kale la iska indha tirin. Tani waa nooc ka mid ah macluumaadka muuqaalka (is-gaarsiinta bakhaarka xogta), kaas oo kuu oggolaanaya inaad ku badbaadiso labada lammaane "(furaha, qiimaha)" iyo taageerada hawlaha lagu darayo labo, iyo sidoo kale tirtiridda iyo raadinta labada nin ee muhiimka ah:

- FIND (furaha).

- INSERT (qiimaha, furaha).

- GELIYA (furaha).

Waxaa la aaminsan yahay in labo labo-labo oo furayaasha lamid ah aan lagu kaydin karin jaantuska isbahaysiga. Labaduba, k + vv waxaa lagu magacaabaa qiimaha la xidhiidha furaha k. Muujiyeyaasha iyo magacyada hawlaha kor ku xusan ee hirgelinta kala duwan ee noocyada noocan oo kale ah way kala duwanaan karaan.

Sidaas, talaabada FIND (furaha) waxay soo celinaysaa qiimaha la xidhiidha furaha la cayimay, ama qaar ka mid ah sheyga gaarka ah ee UNDEF, taasoo macnaheedu yahay qiimaha la xidhiidha furaha la cayimay waa maqan yahay. Laba tallaabo oo kale ma soo celinayaan (marka laga reebo in hawlgalku guulaystay).

Guud ahaan, marka laga eego aragtida interface, qaacidada isbahaysiga ayaa si ku haboon loo tixgeliyaa sida arrin sahlan oo aan kali ahaan loo adeegsan karin indices, laakiin sidoo kale noocyada kale ee qiyamka - tusaale ahaan, xarriiqyada.

Marka la eego, taageerada noocyada noocan oo kale ah ayaa laga heli karaa luqado badan oo luuqadaha software sare ah, sida PHP, Perl, Ruby, Python, Tcl, JavaScript, iyo kuwo kale. Luqadaha aan haysan qalab dhisme oo loogu talagalay inay la shaqeeyaan arrimo isku dhafan, tiro badan oo fulin ah ayaa loo sameeyay qaab maktabado ah.

Tusaaleyaal jaan-goyn ah ayaa noqon kara buugga telefoonka. Qiimahaan, qiimuhu waa kakanaanta "F. IO + cinwaanka ", iyo furaha - lambarka telefoonka. Hal lambar taleefan leh ayaa leh hal macalin, laakiin hal qof ayaa leh dhowr lambar.

Ballaarinta isbahaysiga

Waa in la ogaadaa in kordhinta ugu caansan ay ka mid yihiin tallaabooyinka soo socda:

  • EE - "soco" dhamaanba labada lammaanood.
  • CLEAR - tirtir dhammaan diiwaanada.
  • MIN - u raadso labada lamaan ee qiimaha ugu yar.
  • MAX - u raadso lamaanaha qiimaha ugu sarreeya.

Labadii nooc ee ugu dambeeyay, waxaad u baahan tahay inaad sheegto ficilka isbarbardhigga ee furaha.

Hirgelinta Qaybaha Aasaasiga ah

Waxaa jira hirgalisyo badan oo kala duwan oo ah jaangooyo wadaag. Hirgelinta ugu caansan waxay ku saleysnaan kartaa arrin sahlan, oo ah qaybaha ay yihiin laba-labo (qiimaha, furaha). Si loo dedejiyo hawlaha raadinta, waxaad qabanqaabin kartaa qaybaha safi by raadinta muhiim ah oo la hirgeliyo isticmaalaya search a binary. Laakiin tani waxay kordhin doontaa mudada loo baahan yahay in lagu daro lamaano cusub, maadaama ay lagama maarmaan tahay in ay "kala tagaan" qaybaha daaqada si ay u buuxiyaan rikoor cusub oo u muuqda unugyada madhan.

Hirgelinta ugu fiican ee la og yahay waxay ku salaysan yihiin geedo raadin kala duwan. Tusaale ahaan, qolka akhriska ee caadiga ah ee C ++ STL, map map waxaa lagu fuliyaa iyadoo loo eegayo geedka madow iyo guduud. Hababka Ruby, Tcl, Python mid ka mid ah noocyada miiska karbaashka ayaa loo isticmaalaa. Waxaa jira hirgelin kale.

Guud ahaan, hirgalis kastaa wuxuu leeyahay nafsadiisa iyo faa'iidadiisa. Waa muhiim in dhammaan sedexda tallaabo ee la fuliyo labadaba heer dhexdhexaad ah iyo kuwa ugu xun ee mudada O (log n), halkaasoo n uu yahay lambarka lamaanaha la badbaadiyey. Si loo baadho geedaha isku-darka ah (oo ay ku jiraan geedaha madow iyo kuwa guduudan) xaaladdan waa la dhammaystiray.

Waxaa la og yahay in fulintii ku salaysan miisaskii hash, markii celcelis ahaan waxaa lagu qeexaa sida D (1), taas oo ah yaa ka khayr badan in falalka ku salaysan geedaha raadinta. Dabcan, taasi ma damaanad sare-xawaaraha waxqabadka gaar ah hawlgallada: INSERT tallaabo waqti ugu xumaa ee kiiska, muujinaysaa sida O (n). INSERT habka loo qaban dheer markii ay waajib ratio qeybaha ugu sareeya hal dhibic, oo halkaas waa baahi loo qabo in dib u hash miiska index.

By habka, weedhahan xaajoodaan xun on this salaysan waa wax aan macquul aheyn in ay sameeyaan tallaabo dheeraad ah oo degdeg ah MAX, min, iyo isku geynta ah si aad u raadiso oo dhan badbaadiyay lammaane si degaya ama kor furayaasha.

Similar articles

 

 

 

 

Trending Now

 

 

 

 

Newest

Copyright © 2018 so.atomiyme.com. Theme powered by WordPress.