КомпјутериПрограмирање

Јавасцрипт-низ и његова креација. Информације о ЈаваСцрипт низова

У овом чланку ћемо погледати ЈаваСцрипт-арраи, његових компоненти. ЈаваСцрипт је савршен сценарио оријентисан језик, дизајниран за програмирање. У ствари, она спроводи језик ЕЦМАСцрипт (стандардни ЕЕЦМА-262).

ЈаваСцрипт? Користи се као уграђеног језика како би се утврдио пут програма за предметну апликацију. Може се наћи у претраживачу: она се не користи као скрипт језика који даје веб странице интерактивни.

Главне карактеристике архитектонски овог производа су динамичне и слаби куцање, автоуправление меморије идеална за програмирање функције које су предмет првог пражњења.

У ствари, у ЈаваСцрипт утицао на различите разлоге, јер би развој створити језик сличан Јава, али једноставан за коришћење од стране програмера. Узгред, језик ЈаваСцрипт не поседује ни једну фирму или организацију која чини се разликује од броја програмских стилова користе веб-програмери.

Треба напоменути да ЈаваСцрипт - регистровани заштитни знак Орацле Цорпоратион Гроуп.

Шта је низ?

Звао арраи тип података, која чува бројевима вредности. Свака таква вредност назива се компоненте низ а цифра од које везује компоненту, под називом индекс. Јавасцрипт-низ унтипед. То значи да су чврсти делови могу имати било које врсте, са различитим деловима који припадају истом низу, имају потпуно различите врсте.

Поред тога, ЈаваСцрипт низ је динамичан, и речено је да фиксне величине не мора да буде проглашена. Након додавањем нових делова у било ком тренутку.

добар производња

Коришћење ЈаваСцрипт језика да створи низ прилично тешко. Постоје два начина за то. Први подразумева производњу низа коришћењем буквално - од заградама, у коме је постављен списак предмета, подељено са зарезима.

  • вар празне = []; // празан низ;
  • вар нумерс = [4, 1, 2, 5]; // низ са пет дигиталних компоненти;
  • вар разлика = [1.5, лажна, «текст"]; // низ са три елемента различитих типова.

По правилу, није потребно да буду једноставне вредности (реда и бројева). Такође може бити било који други изрази, на пример, литерали објекта, друге функције и низови.

Други начин да се створи дизајнер арраи је да позове Арраи (). Да га позове на један од три начина:

  • Позовите дизајнера без аргумената вар Б - нев Арраи (). Она предвиђа стварање празног низа еквивалентној празан литерал [].
  • Је дизајнер изричито наводећи Вредност Н компоненти Арраи: вар б = нев Арраи (1, 3, 5, 8, "лине», труе). У том случају, дизајнер је представио листу аргумената, који се трансформишу у ново поље компоненти. Аргументи су писани у низу је локација где је назначено.
  • Дефинисање обима за даље додељивање вредности. Ово се врши одређивањем низа детекције број у заградама: вар б = нев Арраи (5). Овај метод детекције укључује алокације Арраи потребне количине компонената (од којих је свака наведена као дефинисана) са могућношћу додељивања вредности у презентацији. Ова форма се обично користе за припремање издваја Јавасцрипт-низ чија дужина је познат унапред.

Снимање, читање и додавање детаља низа

Доћи до компоненте поља могу бити преко оператера []. Узгред, све компоненте у ЈаваСцрипт, почевши од нуле, су нумерисани. Да би добили неопходне елементе, указују на његов број у заградама. Као опште правило, ствари могу да се промене. ЈаваСцрипт да додате у низу, довољно је да се доделити нову вредност.

Треба напоменути да је у ЈаваСцрипт низови може похранити било који број елемената било које врсте.

Дужина низа

Дакле, ми знамо шта ЈаваСцрипт. дужина низа у целини је занимљив феномен. Хајде да га узме у обзир више детаља. Сви опсези су конструисани користећи Арраи Десигнер () и детектовати буквално низ имају специфичну ленгтх својство које повуче укупан број елемената спаринг. Пошто је низ може бити неизвесно детаља (дефинисана Именовани), прецизнији израз звучи: дужина Квалитет је увек већи од једног од највећег броја (индекс) од низа компоненти. Дужина Квалитет се аутоматски подешава, остати тачно на појаву низа нових детаља.

Да бисте приказали коначан компоненту низа, можете користити дужине имовину.

Последњи део је индекс један мање од величине низа. Након одбројавања почети увек од нуле. Ох, ово ЈаваСкрипт! Дужина низа зависи од тачног броја елемената. Стога, ако не знате колико треба да постоји, али морате да се до коначног елемента низа, неопходно је да се примени рекорд: в.ленгтх - 1.

Прелазили массив делова

Врло често, дужина имовина се користи за поновити преко низа делова у циклусу:

  • вар воће = [ «јагода", "бресква", "јабука", "банане"];
  • фор (вар и = 0; и <фруитс.ленгхт; и ++);
  • доцумент.врите (воће [И] ' «...»).

У овом примеру се чини да су компоненте стално уређен и почети са првим делом, која има индекс нула. Ако то није случај, пре позива сваки елемент низа треба проверити да ли је то дефинисано.

Циклус се такође понекад користи да покрене компоненте.

Повећање и сакаћења низ

Питам се како помоћу језика ЈаваСцрипт низ у низу да додате? У процесу рада са низовима, дужина дужина аутоматски побољшава квалитет, због чега морамо водити рачуна о томе се. Неопходно је да се сетим ни један детаљ - дужина имовина није доступна за читање, али за записник. Ако Дужина Квалитет атрибута који даје величину струја, низ се своди на претходно одређене вредности. Било компоненте које нису укључене у нове серије индекса, завалити, и њихове вредности се губе, чак и ако се касније вратити дужина - вредности не може вратити.

Једноставно јасно је низ као: фоо.ленгтх = 0.

Ако ће квалитет извршавања дужине веће од њене тренутне вредности, на крају низа бити нови, непознати компоненте, које ће га повећати до жељене величине.

Брисање низ детаља

Делете Оператер означава компоненту низа за недефинисан, али наставља да постоји у овом предмету. Ако желите да уклоните ЈаваСцрипт елемент низа, тако да је преостали део померен за упражњено место, потребно је да користите један од начина да предвиди низ. Метод Арраи.схифт () уклања прву компоненту, поп () - укида компоненту и метод Сплице () - једна компонента или опсегу нигде низ.

Вишедимензионални низови

Чини се да разумемо мало, шта ЈаваСцрипт. Дводимензионални низови - који треба размотрити даље. Да ли се сећате да ЈаваСцрипт низови могу да садрже као компоненте других предмета? Ова функција се користи за производњу мултидимензионалних низова. Да посети компоненте у низу низова је довољна да се два пута применили заграде.

асоцијативни низ

Сада ћемо научити како да жиг користи ЈаваСцрипт асоцијативни низ. Да би то урадили морамо да погледамо у теорији: асоцијативни низ понекад се називају хасх табеле. Захваљујући њима, уместо индекса редова се примењују. Употреба таквих структура које подсећају на коришћење имена својстава једноставан објекта, али у овом извођењу, перформансе рада у низу формату. Пошто нема начина за измену ЈаваСцрипт низова асоцијативне, они се користе много ређе него што је уобичајено. Треба напоменути да они и даље могу бити од користи за складиштење података и поједноставити складиштење делова, који ће бити приступа.

излаз низ

А сада ћемо проучавати у ЈаваСцрипт систему? Излаз низ до дијалога (на екрану), као и вредности излазне компоненти арраи.

Ако програм желите да прикажете вредности свих компоненти, онда је згодно да примени упутства за. Интересантно је да вариабле-контра правила за употребу у исто време када и компоненте индекса низа.

чишћење

Да би се филтрира низ ЈаваСцрипт, потребно је да поново његову дужину:

  • вар миАрраи = [1, 2, 5, 23];
  • миАрраи.ленгтх = 0.

У наставку следи примену околини јасног (), у оквиру, ЈаваСцрипт-прототипе:

  • цлеар: фунцтион () {;
  • тхис.ленгтх = 0;
  • то вратити;
  • }.

Додавање и уклањање компоненти

Па, ми настављамо да даље истражују ову узбудљиву ЈаваСцрипт језика. арраи елемент могуће и уклонити и додати исти начин као конвенционалне особина других објеката. Али постоје неке разлике: додавање нумеричку својства квалитета дужина варира, али у модификацији дужине својстава могу елиминисати нумеричка квалитет. У принципу, као алгоритам инсталира у низовима је следећи:

  • Када додајете дигитална непознате особине И, уколико је дужина једнака или мања од И, дужина је утврђено да и + 1.
  • Када промените квалитет дужине да изврши следеће кораке: ако је додељен вредност је мања од нуле, онда баца РангеЕррор. Елиминише све индексе нумеричке квалитета који су једнаки у новој дужини, и већи од.

Заправо уклонили ЈаваСцрипт низ елемената је једноставна. Уосталом, чак и постављање дужину, треба да уклоните "додатне" компоненте из њега. Из ове опције чишћење поља. Ако је променљива додељен нови празан низ, из било ког разлога, нису били задовољни, па је неопходно да се ресетује струје, његов квалитет је довољна дужина доделити вредност нула.

унсхифт методе, смена, поп и гурај

Упркос чињеници да су компоненте низа променила ручно, многи препоручују да користе ове уграђене методе. То је та нијанса гарантује исправну вредност квалитета и недостатак дужине у низу пролаза. Узгред, квалитет одговарајуће дужине ће одговарати броју компоненти.

Процес се сели у гурнути крај низа преноси ставке. Свратим процес даје коначну компоненту и уклања га.

Генерално у Интернет Екплореру под осмог верзији унсхифт могу вратити недефинисан, у другим претраживачима - нову вредност дужине. Тако да је вредност повратак из унсхифт боље да се не надамо.

Додавање и елиминација делова усред низа

Ако желите да избришете низ ЈаваСцрипт, морате да предузмете? Познато је да је метод има потпис уплитања Арраи.прототипе.сплице.

Он се повлачи из компоненти низ делетеЦоунт, почевши са индексом почетка. Ако прође више од два аргумента, сви наредни аргументи у низу су распоређени у месту ликвидиран. Ако почетак је минус, индекс на којима се наставити повлачење ће бити једнака дужини + старт. Враћајући се на низ удаљених елемената одвија.

У ствари, методом исецање, могуће је уклонити компоненте из средине низа или додате било који број било где у низу.

У најједноставнијем аспекту, ако је потребно уклонити компоненту са индексом и, низ треба да захтева поступак за исецање са параметрима И АНД 1.

У принципу, друга опција на начин уплитања није обавезна, али је понашање функција са једним аргументом за сваки прегледач је другачији.

На пример, у Фирефок, Опера у последњих варијанти, сви детаљи пре краја низа ће бити уклоњени у Сафари и Цхроме.

ниједан компонента је елиминисан у ИЕ. Први варијација је немогуће предвидети понашање Опере - биће уклоњена једна ставка са индексом старт - 1. Због тога увек је потребно за овај метод да пренесу барем две компоненте.

кључеви

Наравно, учење ЈаваСцрипт, асоцијативни низ, као што је раније поменуто, требало би да не буде занемарена. Ово је апстрактна поглед на информације (интерфејс за складиште података), који омогућава да сачувате пар форми "(кључ, вредност)" и операције додавања пар подршке, као и брисање и потрази за пар кључева:

- Финд (кључ).

- ИНСЕРТ (вредност, кључ).

- Уклоните (кључ).

Верује се да је у асоцијативним низу не може да се спасе два пара са сличним тастера. У неколико К + ст је вредност која се кључним к. Семантика и овде са наведених операције у различитим имплементацијама ових низова могу бити различити.

Тако, ФИНД рад (кључ) враћа вредност која је повезана са датом кључем или посебном предмету УНДЕФ, што значи да је вредност повезан са датом кључем, ван мреже. Две друге радње не враћају (осим података о томе да ли је операција била успешна).

Генерално, у смислу интерфејса, асоцијативни низ који се сматра као једноставна низ, где како индекси могу да се примене не само цели бројеви него остале врсте и вредности - на пример, линија.

Узгред, подршка за такве низове се третирају постоје многи језици програмирање на високом нивоу, као што су ПХП, Перл, Руби, Питхон, Тцл, ЈаваСцрипт и другима. За језике који немају уграђене алатке за рад са асоцијативни низ, створио огроман број остварења у виду библиотеке.

Пример асоцијативног низа може да послужи као телефонском именику. У овом извођењу, вредност се подешава "Ф. ИО + Е ", а кључ - телефонски број. Један број телефона је један мајстор, али једна особа може поседовати више бројева.

associated проширење

Треба напоменути да су најпознатија проширења обухватају следеће:

  • СВАКИ - «хода» на све штеди парова.
  • ЈАСНА - да бисте избрисали све ставке.
  • МИН - да пронађе пар са најнижом вредности кључа.
  • Мак - да пронађе пар са највећом вредности кључа.

У последња два случаја треба да на тастерима наведено поређење ефекта.

Реализација асоцијативних низова

Постоје многе различите имплементације у асоцијативног низа. Најчешћи примена може да се заснива на једноставном низу чије компоненте су парови (кључна вредност). Да бисте убрзали функције за претрагу, можете организовати компоненте низа од кључног налаз и имплементирати користећи бинарни претрагу. Али то ће повећати количину времена потребног да додате нови пар, јер ће морати да "гура" низ компоненти које су се појавиле у празну ћелију да се спакујем нови рекорд.

Најпознатији примена, на основу различитих претраживача дрвећа. На пример, у типичном читаоница СТЛ Ц ++ језика Приколице карти се спроводи на основу црно и махагонија. У Руби, стилови, ТЦЛ, Питон користи једну врсту хасх табела. Постоје друге имплементације.

У принципу, свака имплементација има своје предности и недостатке. Важно је да су сва три операције испуњени у просеку, а у најгорем периоду од нијанси о (лог н), где је н - тренутни број за чување пар. За усклађене претраживача дрвећа (укључујући црне и црвене стабала), овај услов је задовољен.

Познато је да у имплементација на основу хеш табелама, просечно време је дефинисана као Д (1), што је боље него у радњама на основу стабла претраге. Наравно, то не гарантује брзу перформансе одвојене операције: ИНСЕРТ акциони време у најгорем случају, обележено као О (н). Процес инсерт обавља дуже време када је однос дужност достигне највишу тачку, а постоји потреба да се реконструише индекс хеш табеле.

Узгред, ове изјаве хасх лоше да на тој основи је немогуће извршити брз додатни акциони мак, мин, а алгоритам за претраживање свих штеди парова опадајућем редоследу или растући кључеве.

Similar articles

 

 

 

 

Trending Now

 

 

 

 

Newest

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