ComputersProgramming

JavaScript-array thiab nws cov creation. Tag nrho hais txog JavaScript arrays

Nyob rau hauv no tsab xov xwm peb yuav saib JavaScript-array, nws Cheebtsam. JavaScript yog ib tug zoo meej scenario-taw qhia kom paub lus tsim rau programming. Nyob rau hauv qhov tseeb, nws siv lub ECMAScript lus (standard ECMA-262).

Ntawm JavaScript? Nws yog siv raws li ib tug kos lus nyob rau hauv kev txiav txim los mus txiav txim rau txoj kev uas qhov kev pab cuam rau cov kev kawm daim ntawv thov. Nws muaj peev xwm yuav nrhiav tau nyob rau hauv lub browser: nws yog siv raws li ib tug muaj scripting lus uas muab cov nplooj ntawv web sib tham sib.

Qhov loj architectural nta ntawm cov khoom no yog dynamic thiab tsis muaj zog typing, avtoupravlenie nco zoo tagnrho programming zog uas yog cov khoom los ntawm cov thawj tawm.

Ua tau, nyob rau hauv JavaScript pawg sib txawv yog vim li cas, vim hais tias cov kev loj hlob yuav tsim ib hom lus uas zoo sib xws rau Java, tab sis yooj yim rau siv los ntawm cov. Los ntawm txoj kev, lub JavaScript lus tsis muaj tej lub tuam txhab los yog lub koom haum uas yuav ua rau nws txawv ntawm ib tug xov tooj ntawm programming yeej siv los ntawm web developers.

Nws yuav tsum tau muab sau tseg hais tias JavaScript - ib tug sau npe trademark ntawm Oracle Corporation Group.

Yuav ua li cas yog ib qho array?

Hu array cov ntaub ntawv hom, uas khw muag khoom numbered qhov tseem ceeb. Txhua xws tus nqi yog raug xa mus rau raws li lub array tivthaiv thiab cov lej uas binds cov tivthaiv, hu ua ib tug Performance index. JavaScript-array ntawm untyped. Qhov no txhais tau tias cov khoom qhov chaw yuav muaj xijpeem hom, nrog ntau qhov chaw teej tug mus rau tib lub array, muaj kiag li muaj ntau hom.

Nyob rau hauv tas li ntawd, JavaScript-array yog dynamic, thiab nws yog hais tias ib tug taag loj yuav tsum tsis txhob yuav tshaj tawm hais tias. Tom qab ntxiv tshiab qhov chaw nyob rau tej lub sij hawm.

khoom ntau lawm

Siv cov JavaScript lus los tsim ib qho array nyuaj heev. Muaj ob txoj kev rau qhov no. Tus thawj yuav zus tau tej cov ib tug array siv ib tug literal - ntawm square nkhaus, hauv uas yog muab tso rau ib daim ntawv teev khoom, muab faib los ntawm commas.

  • var npliag = []; // npliag array;
  • var numers = [4, 1, 2, 5]; // array muaj tsib cov Cheebtsam;
  • var diff = [1.5, cuav, «ntawv nyeem"]; // array nrog peb hais muaj ntau hom.

Raws li ib tug txoj cai, nws yog tsis yuav tsum tau yuav tsum tau tej yam yooj yim qhov tseem ceeb (kab thiab tus xov tooj). Nws kuj yuav muaj lwm yam kab zauv, piv txwv li, kwv literals, lwm yam kev khiav dej num thiab arrays.

Qhov thib ob txoj kev los ua ib tug array designer yog hu Array (). Caw nws mus rau ib qho ntawm peb txoj kev:

  • Hu rau ib tug designer tsis muaj lus sib cav: var b - tshiab Array (). Nws muab rau cov creation ntawm ib qho kev npliag array sib npaug rau ib qho kev npliag lus [].
  • Cov designer tau ntsees specifying tus nqi n ntawm lub array Cheebtsam: var b = tshiab Array (1, 3, 5, 8, "kab», yeej muaj tseeb). Nyob rau hauv cov ntaub ntawv no, cov designer hais ib daim ntawv teev cov lus, uas yog kev hloov mus rau hauv ib tug tshiab array Cheebtsam. Cov lus sib cav sau mus rau lub array yog qhov chaw uas tau hais tseg.
  • Txhais cov uas rau ntxiv muab qhov tseem ceeb. Qhov no yog ua los ntawm specifying lub nrhiav kom tau array ib tug xov tooj uas xa tuaj nrog sau rau hauv: var b = tshiab Array (5). Qhov no txoj kev ntawm kev nrhiav kom tau muaj lub qee array yuav tsum tau cov nqi ntawm cov Cheebtsam (txhua yam uas yog muab teev raws li undefined) nrog ib tug tseem muab qhov tseem ceeb nyob rau hauv kev nthuav qhia. Qhov no daim ntawv yog feem ntau yog siv rau pre-faib lub Javascript-array uas nws ntev yog paub nyob rau hauv ua ntej.

Ntaubntawv povthawj siv, kev nyeem ntawv thiab ntxiv cov ntsiab lus ntawm cov array

Tau mus rau lub Cheebtsam ntawm lub array tej zaum yuav ntawm neeg teb xov tooj []. Los ntawm txoj kev, tag nrho cov Cheebtsam nyob rau hauv JavaScript, pib los ntawm xoom, yog suav. Yog xav tau tus tsim nyog hais, qhia nws tus naj npawb nyob rau hauv square nkhaus. Raws li ib tug dav dav txoj cai, cov khoom yuav raug hloov. Ib tug JavaScript ntxiv mus rau lub array, nws yog txaus muab ib tug tshiab tus nqi.

Nws yuav tsum tau muab sau tseg tias nyob rau hauv JavaScript arrays yuav cia tej xov tooj ntawm cov ntsiab ntawm tej yam zoo.

Qhov ntev ntawm lub array

Yog li ntawd peb paub dab tsi JavaScript. ntev ntawm lub array nyob rau hauv kev yog ib qho kev nthuav tshwm sim. Cia peb xav txog nws nyob rau hauv ntau yam. Tag nrho yog hom twg yog lub tsev siv Array Designer () thiab kuaj los ntawm ib tug literal array muaj ib txog kev ntev vaj tse, uas tso tag nrho cov xov tooj ntawm cov ntsiab sparing. Txij li thaum lub array tej zaum yuav meej txog ntawm cov lus (undefined Lub xws), muaj ntau yog qhia suab li no: Zoo ntev yog ib txwm ntau dua los ntawm ib tug tshaj qhov loj tshaj plaws pes tsawg tus (Performance index) ntawm lub array tivthaiv. Zoo ntev tom txiav, nyob muaj tseeb ntawm cov tsos ntawm ib tug array ntawm tshiab ntsiab lus.

Yuav kom tso saib cov lus kawg tivthaiv ntawm ib tug array, koj siv tau cov ntev cov cuab yeej.

Qhov kawg ib feem yog cov index ib tug tsawg tshaj li qhov loj ntawm lub array. Tom qab lub countdown pib ib txwm los ntawm kos. Oh, qhov no JavaScript! Qhov ntev ntawm lub array nyob ntawm nws pes tsawg tus naj npawb ntawm cov ntsiab. Yog li ntawd, yog tias koj tsis paub yuav ua li cas muaj ntau yam yuav tsum muaj, tab sis koj yuav tsum tig mus rau lub caij kawg ntawm lub array, nws yog tsim nyog los siv cov ntaub ntawv: v.length - 1.

Iterate lub array ntawm qhov chaw

Heev feem ntau, qhov ntev cuab yeej yog siv rau iterate tshaj lub array ntawm qhov chaw nyob rau hauv lub voj voog:

  • var txiv hmab txiv ntoo = [ «pos nphuab", "txiv duaj," "Kua," "txiv tsawb"];
  • rau (var kuv = 0; i
  • document.write (txiv hmab txiv ntoo [i] + «...»).

Nyob rau hauv qhov kev piv txwv nws zoo nkaus li uas lub Cheebtsam cov txheej txheem tu ncua thiab pib nrog cov thawj ib feem, uas tuas index zero. Yog hais tias qhov no yog tsis cov ntaub ntawv, ua ntej hu rau txhua lub caij ntawm lub array yuav tsum tau soj ntsuam yog tias nws txhais.

Lub voj voog tej thaum kuj siv los initialize lub Cheebtsam.

Qhov nce thiab lub truncation array

Kuv xav yuav ua li cas siv lus JavaScript txoj hlua rau hauv ib qho array ntxiv? Nyob rau hauv tus txheej txheem ntawm kev ua hauj lwm nrog arrays, ntev ntev yeej pab txoj kev zoo, uas yog vim li cas peb yuav tsum saib xyuas ntawm koj tus kheej. Nws yog tsim nyog yuav tau nco qab muaj ib zaug xwb nthuav dav - ntev cuab yeej yog tsis muaj nyob rau nyeem ntawv nkaus xwb, tab sis rau cov ntaub ntawv. Yog hais tias qhov zoo tshaj ntev attribute nqi uas muab qhov luaj li cas ntawm cov tam sim no, lub array yog txo mus rau ib tug predetermined nqi. Tej yam uas tsis muaj nyob rau hauv lub tshiab ntau yam ntawm indices, recline, thiab lawv tseem ceeb yog poob, txawm hais tias koj tom qab rov qab ntev - qhov tseem ceeb tsis tau rov qab los.

Heev tsuas luaj lub array li: foo.length = 0.

Yog hais tias qhov zoo tshaj ntawm khiav ntev ntau tshaj li nws tam sim no tus nqi, nyob rau thaum xaus ntawm lub array yuav tshiab, lam Cheebtsam, uas yuav ua rau kom nws mus rau lub kev kawm loj.

Hmong ib tug array ntawm cov ntsiab lus

Lub delete neeg teb xov tooj ntawd cov feem ntawm cov array rau undefined, tab sis nws tseem nyob ua ib ke nyob rau hauv cov ntaub ntawv no. Yog hais tias koj xav tau kom tshem tawm cov JavaScript caij ntawm lub array kom cov tshuav ib feem txav mus rau tsis muaj qhov chaw, koj yuav tsum siv ib qho ntawm cov kev twv seb lub array. Txoj kev Array.shift () tuskheej ib tug thawj tivthaiv, pop () - terminating tivthaiv thiab ib txoj kev splice () - ib feem los yog kev ntsuas pib qhov twg array.

ntau txoj arrays

Nws nkawd hais tias peb to taub me ntsis, zoo li cas JavaScript. Ob-dimensional arrays - uas yuav tsum tau raug xam tias yog ntxiv. Koj puas nco qab hais tias JavaScript arrays yuav muaj raws li Cheebtsam ntawm lwm yam khoom? Qhov no feature yog siv rau zus tau tej cov multi-dimensional arrays. Mus xyuas lub Cheebtsam nyob rau hauv ib tug array ntawm arrays yog txaus los mus thov lub nkhaus ob zaug.

associative arrays

Tam sim no peb kawm tau li cas rau trademark siv JavaScript associative arrays. Ua li no peb yuav tsum tau saib mus rau hauv qhov kev tshawb xav: associative arrays no hu ua hash ntxhuav. Ua tsaug rau lawv, tsis txhob siv lub Performance index kab yog ua ntawv thov. Cov kev siv ntawm tej lug reminiscent ntawm kev siv ntawm lub npe ntawm cov khoom ntawm ib tug yooj yim kwv, tab sis nyob rau hauv no embodiment, qhov kev kawm ua hauj lwm nyob rau hauv ib tug array hom. Txij li thaum muaj cov tsis muaj txoj kev ntawm manipulating JavaScript arrays associative, lawv yog siv ntau tsawg heev tshaj li ib txwm. Nws yuav tsum tau muab sau tseg hais tias lawv tseem muaj peev xwm yuav pab tau rau cov ntaub ntawv cia thiab piv cia ntawm qhov chaw, uas yuav tsum accessed.

Tso zis array

Thiab tam sim no peb yuav kawm nyob rau hauv lub JavaScript system? Tso zis array mus rau lub dialog box (nyob rau qhov kev tshuaj ntsuam), raws li zoo raws li lub qhov zis qhov tseem ceeb ntawm cov array Cheebtsam.

Yog hais tias qhov kev pab cuam uas koj xav tau mus tso saib rau qhov tseem ceeb ntawm tag nrho lub Cheebtsam, ces nws yog yooj yim los mus thov cov lus qhia rau. Interestingly, lub nce mus nce los-counter kev cai rau siv nyob rau tib lub sij hawm raws li lub feem ntawm cov array index.

tu

Nyob rau hauv thiaj li yuav lim ib tug array ntawm JavaScript, koj yuav tsum pib dua nws kav ntev npaum:

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

Cov nram qab no qhia tau hais tias qhov kev siv ntawm lo lus uas peb tseeb (), nyob rau hauv ib tug lub moj khaum, JavaScript-Tsab:

  • tseeb: muaj nuj nqi () {;
  • this.length = 0;
  • rov qab no;
  • }.

Ntxiv thiab tshem tawm cov Cheebtsam

Zoo, peb tseem mus ntxiv tshawb no exciting JavaScript lus. array caij li sai tau thiab kom tshem tawm thiab ntxiv cov tib txoj kev raws li cov pa thaj chaw ntawm lwm yam khoom. Tab sis muaj ib co kev txawv no: muab numeric zog zoo ntev tej zaum yuav txawv, tab sis nyob rau hauv lub kev hloov kho ntawm cov khoom ntev yuav muab tshem tawm suav zoo. Nyob rau hauv hauv paus ntsiab lus, raws li cov nruab algorithm nyob rau hauv arrays yog raws li nram no:

  • Thaum muab ib tug cov tsis paub hais tias thaj chaw ntawm kuv, yog hais tias tus ntev yog sib npaug los yog tsawg tshaj li kuv, ntev yog txiav txim tau yuav kuv + 1.
  • Thaum koj hloov qhov zoo ntawm ntev ua raws li nram no cov kauj ruam: yog hais tias tus muab tus nqi yog tsawg tshaj li xoom, ces throws RangeError. Eliminates tag nrho cov zauv zoo indexes uas yog muaj sib npaug mus rau qhov tshiab ntev, thiab siab tshaj.

Ua tau tshem tawm JavaScript array caij yog yooj yim. Tom qab tag nrho, txawm teem lub ntev, koj yuav tsum tshem tawm cov "ntxiv" Cheebtsam ntawm nws. Nws li nram no los ntawm qhov no tu xaiv array. Yog hais tias lub nce mus nce los yog muab ib tug tshiab tas array, txawm yog vim li cas, twb tsis txaus siab, thiab nws yog tsim nyog los pib dua qhov tam sim no, nws zoo yog txaus ntev mus muab ib tug nqi pes tsawg.

unshift txoj kev, ua haujlwm, pop thiab laub

Txawm tias muaj tseeb hais tias lub Cheebtsam ntawm lub array yog hloov manually, ntau pom zoo kom siv no ua-nyob rau hauv txoj kev. Nws yog qhov no nuance guarantees qhov tseeb tus nqi ntawm lub zoo thiab lub tsis ntev nyob rau hauv lub array dhau mus. Los ntawm txoj kev, qhov zoo ntawm muaj tseeb ntev yuav sib haum mus rau tus xov tooj ntawm Cheebtsam.

Cov txheej txheem tsiv mus rau thawb lub kawg ntawm lub array kis yam khoom. Pop rov qab txheej txheem muab tus kawg tivthaiv thiab tshem tawm nws.

Feem ntau nyob rau hauv Internet Explorer nyob rau hauv lub yim version unshift yuav tau rov qab undefined, nyob rau hauv lwm yam browsers - tus tshiab tus nqi ntawm ntev. Yog li ntawd hais tias cov rov qab nqi los ntawm lub unshift qhov zoo dua tsis cia siab.

Ntxiv thiab tshem tawm ntawm qhov chaw nyob rau hauv nruab nrab ntawm lub array

Yog hais tias koj xav rho tawm ib tug array ntawm JavaScript, koj yuav tsum ua dabtsi ntxiv? Nws yog lub npe hu hais tias txoj kev muaj ib tug kos npe rau splice Array.prototype.splice.

Nws thim tawm hauv qhov array deleteCount Cheebtsam, pib nrog index pib. Yog hais tias koj kis tau ntau tshaj ob nqe lus, tag nrho cov tom ntej cov lus sib cav nyob rau hauv lub array cov txheej txheem ntawm nyob rau hauv qhov chaw ntawm lub liquidated. Yog hais tias pib yog rho tawm, tus index uas rau rov pib dua lub ntsoos ntsoos yuav sib npaug zos rau qhov ntev + pib. Rov qab mus rau lub array ntawm tej thaj chaw deb ntsiab yuav siv sij hawm qhov chaw.

Nyob rau hauv qhov tseeb, siv cov splice txoj kev, nws yog tau tawm Cheebtsam ntawm nruab nrab ntawm ib tug array los yog ntxiv tej xov tooj nyob qhov twg nyob rau hauv lub array.

Nyob rau hauv lub nyuaj embodiment, yog hais tias nws yog tsim nyog los tshem tawm cov feem nrog index i, lub array yuav tsum thov splice txoj kev nrog tsis kuv thiab 1.

Nyob rau hauv hauv paus ntsiab lus, cov kev xaiv thib ob nyob rau splice txoj kev tsis yog yuav tsum tau, tab sis tus cwj pwm ntawm cov nuj nqi nrog rau ib tug sib cav rau txhua browser yog sib txawv.

Piv txwv li, nyob rau hauv Firefox, Opera nyob rau hauv lub kawg variations, tag nrho cov lus ua ntej thaum xaus ntawm lub array yuav raug tshem tawm nyob rau hauv Safari thiab Chrome.

tsis muaj ib qho feem yog tshem tawm nyob rau hauv IE. Tus thawj variation yog tsis yooj yim sua twv seb tus cwj pwm ntawm Opera - yuav raug tshem tawm ib yam khoom nrog index pib - 1. Yog li ntawd nws yog ib txwm tsim nyog nyob rau hauv no txoj kev mus rau kis tsawg kawg yog ob lub Cheebtsam.

cov yuam sij

Ntawm cov hoob kawm, kev kawm JavaScript, associative arrays, raws li hais ua ntej lawm, koj yuav tsum tau tsis txhob muab overlooked. Qhov no yog ib qho paub daws teeb saib ntawm cov ntaub ntawv (cov interface rau cov ntaub ntawv khw), uas tso cai rau cawm tau ib tug khub ntawm lub daim ntawv "(tseem ceeb, tus nqi)" thiab cov lag luam los ntawm muab ib tug khub ntawm kev txhawb nqa, raws li zoo raws li deletion thiab nrhiav tus tseem ceeb khub:

- Nrhiav (tseem ceeb).

- INSERT (tus nqi, qhov tseem ceeb).

- Tshem (tseem ceeb).

Nws yog ntseeg hais tias nyob rau hauv ib tug associative array yuav tsis cawm cov ob khub zoo li lub lag luam. Nyob rau hauv ib ob peb ntawm k + VV yog tus nqi uas txuam nrog qhov tseem ceeb k. Semantics thiab nyob ntawm no nrog tus saum toj no ua hauj lwm nyob rau hauv ntau yam implementations ntawm xws arrays tej zaum yuav txawv.

Yog li, NRHIAV lag luam (tseem ceeb) rov ib tug nqi uas txuam nrog ib tug muab qhov tseem ceeb, los sis ib qhov khoom UNDEF, lub ntsiab lus hais tias tus nqi txuam nrog ib tug muab qhov tseem ceeb, offline. Ob tug lwm cov yeeb yam tsis rov qab (tshwj tsis yog rau cov ntaub ntawv hais txog seb puas lub lag luam yog muaj kev vam meej).

Feem ntau, nyob rau hauv cov nqe lus ntawm interface, associative array uas yog xam raws li ib tug yooj yim array, nyob rau raws li indices yuav tau mus thov tsis tau tsuas yog integer xov tooj tab sis lwm yam thiab qhov tseem ceeb - piv txwv li, cov kab.

Incidentally, them nyiaj yug rau xws arrays yuav kho muaj ntau ntau high-theem programming hom lus xws li PHP, Perl, Ruby, Nab hab sej, TCL, JavaScript thiab lwm tus neeg. Rau hom lus uas tsis muaj built-nyob rau hauv cov cuab yeej mus ua hauj lwm nrog associative arrays, tsim ib tug enormous tooj ntawm realizations nyob rau hauv daim ntawv ntawm cov tsev qiv ntawv.

Ib qho piv txwv ntawm ib qho kev associative array yuav pab raws li ib tug xov tooj directory. Nyob rau hauv no embodiment, tus nqi yog muab "F. Rhuav tshem cov ntaub + e ", thiab tus yuam sij - tus xov tooj. Ib tug xov tooj yog ib tug tswv, tiam sis yog ib tug neeg muaj peev xwm muaj ntau yam xov tooj.

txuam extension

Nws yuav tsum tau muab sau tseg tias feem ntau zoo-paub extensions xws li cov nram qab no:

  • TXHUA - «taug kev» nyob rau hauv tag nrho cov yam officers.
  • CLEAR - mus rho tawm tag nrho cov nkag.
  • MIN - mus nrhiav tau ib tug khub nrog tus nqi qis tshaj tseem ceeb muaj nuj nqis.
  • MAX - mus nrhiav tau ib tug khub nrog cov coob tseem ceeb muaj nuj nqis.

Nyob rau hauv lub xeem ob tus neeg koj yuav tsum nyob rau hauv lub lag luam qhia kev sib piv cov nyhuv.

Realization ntawm associative arrays

Muaj ntau ntau txawv implementations ntawm lub associative array. Cov feem ntau siv tej zaum yuav raws li ib tug yooj yim array uas nws Cheebtsam yog cov officers (tus nqi tseem ceeb). Rau kom cov kev tshawb fawb zog, koj yuav tau npaj lub Cheebtsam ntawm lub array los ntawm ib tug tseem ceeb txoj kev nrhiav thiab siv siv ib tug binary nrhiav. Tab sis nws yuav ua rau kom tus nqi ntawm lub sij hawm yuav tsum tau ntxiv ib tug tshiab khub, raws li yuav tsum tau "thawb" lub array cheebtsam uas nyob rau hauv ib qho kev npliag cell av ib tug tshiab cov ntaub ntawv.

Qhov zoo tshaj plaws lub npe hu kev siv, raws li nyob rau txawv nrhiav ntoo. Piv txwv li, nyob rau hauv ib tug raug kev nyeem ntawv chav tsev STL C ++ lus Shocks daim ntawv qhia yog muab los siv rau lub hauv paus ntawm cov xim dub thiab mahogany. Nyob rau hauv Ruby, yeej, TCL, Nab hab sej siv ib hom ntawm hash ntxhuav. Nws muaj lwm yam kev siv.

Nyob rau hauv Feem ntau, txhua siv nws muaj nws tus kheej zoo thiab disadvantages. Nws yog ib qho tseem ceeb uas tag nrho peb kev ua hauj lwm tau ua tiav raws li nyob rau nruab nrab, thiab nyob rau hauv lub phem tshaj lub sij hawm ntawm nuance txog (teev n), qhov chaw uas n - tam sim no tus xov tooj mus cawm par. Rau concerted nrhiav ntoo (xws li dub thiab liab ntoo), tus mob no yog txaus siab rau.

Nws yog lub npe hu hais tias nyob rau hauv implementations raws li hash ntxhuav, qhov nruab nrab lub sij hawm yog txhais raws li D (1), uas yog zoo dua nyob rau hauv cov kev ua raws li nyob rau hauv cov kev tshawb fawb ntoo. Ntawm cov hoob kawm, qhov no tsis tau lees tias ib tug high-ceev kev ua tau zoo ntawm cais ua hauj lwm: INSERT txiav txim lub sij hawm nyob rau hauv lub phem tshaj cov ntaub ntawv, denoted li O (n). INSERT txheej txheem yog ua rau ib tug ntev lub sij hawm thaum lub luag hauj lwm piv nce mus txog lub siab tshaj plaws taw tes, thiab muaj yog qhov yuav tsum tau los sis tus hash rooj index.

Los ntawm txoj kev, cov nqe lus hash phem uas nyob rau hauv no raws nws yog tsis yooj yim sua kom ua ceev ceev ntxiv txiav txim MAX, MIN, thiab ib tug algorithm mus nrhiav tag nrho cov yam officers nyob rau hauv nqis kev txiav txim los yog ascending lub lag luam.

Similar articles

 

 

 

 

Trending Now

 

 

 

 

Newest

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