В тази статия ще разгледаме JavaScript-масив, неговите компоненти.JavaScript е напълно ориентирана скриптов език, създаден за програмиране.В действителност, той осъзнава език ECMAScript (ECMA-262 стандарт).
Къде да ползвате JavaScript?Той се използва като вграден език, за да се определи пътя към прилагането на софтуер, обект.Тя може да бъде намерена в браузъра: тя се използва там като скриптов език, който дава интерактивност към уеб страници.
важни архитектурни особености на този продукт са динамични и слаба пишете, avtoupravlenie памет, идеални програмни функции, които са предмет на първа категория.
Всъщност, в JavaScript засегнати различни причини, поради развитието ще създаде език, подобен на Java, но лесен за използване от програмисти.Между другото, на езика JavaScript не притежава всяка фирма или организация, която го прави различен от редица програмни стилове, използвани от уеб разработчици.
Имайте предвид, че JavaScript - регистрирана търговска марка на Oracle Corporation безпокойство.
Какво е масив?
данни, наречена Array тип, че магазините номерирани стойности.Всяка такава стойност е посочена като компонент на масива, а броят на които компонент се нарича индекс.JavaScript-типизиран масив.Това означава, че данните на масива могат да имат всякакъв тип, с различни предмети, принадлежащи към същия масив, имат съвсем различни стилове.
допълнение, JavaScript-масив е динамична и се казва, че с фиксиран размер не е необходимо да се декларира.След добавяне на нови части по всяко време.
производство масив
Използването на езика JavaScript, за да се създаде масив доста трудно.Има два начина за това.Първият е свързан с производството на масив, използвайки буквално - на квадратни скоби, вътре в който се поставят списък с елементи, разделени със запетаи.
- Var празна = [];// Празен масив;
- numers = Var [4, 1, 2, 5];// Масив с пет цифрови компоненти;
- Var разл = [1.5, неверни, «текст"];// Масив с елементи на три различни вида.
Обикновено, не съществува изискване, че стойностите са прости (и номер на ред).Той може да бъде други изрази, например, обект литерали други функции и масиви.
втория начин да се създаде масив на дизайнера е да се обадите Array ().Покани го три метода:
- Обаждане дизайнерски без аргументи: Var б - нова Array ().Той предвижда създаването на празен масив еквивалент буквално празна [].
- Designer е ясно да се посочи стойността на п компоненти масив: Var б = нови Array (1, 3, 5, 8, "ред», вярно).В този случай, дизайнерът представи списък с аргументи, които се превръщат в компонентите на новия масив.Аргументи са написани на масива е мястото, където е посочено.
- за обхват за по-късно се дават стойности.Това се прави чрез определяне на масива откриване на номера затворени в скоби: Var B = нова Array (5).Този метод включва откриване на разпределението на масив от необходимия брой компоненти (всеки от които е посочена като неопределен) с възможност за задаване стойности в процеса на обсъждане.Тази форма обикновено се използва за предварително заделя Javascript-масива, чиято дължина е известен предварително.
писане, четене и добавяне на части масив
достигне компонентите на масива, можете да използвате [] оператор.Между другото, всички компоненти в JavaScript, започващи с нула, номерирани.За да се получи необходимите елементи, си номер е посочен в скоби.Като правило, елементи могат да бъдат променени.A JavaScript за да добавите в масива, трябва да зададете нов стойност.
следва да се отбележи, че в масива на JavaScript да съхранявате произволен брой елементи от всякакъв вид.
Дължина на
Така че ние знаем какво JavaScript.Дължината на масива като цяло е интересен феномен.Нека да го разгледа по-подробно.Всички диапазоните са проектирани от дизайнера Array (), и идентифицирани благодарение на буквалното масив да има специфична дължина на имота, който припомня, са запазени от общия брой на елементите.От масива може да бъде несигурно от информация (означени с неопределена), по-точен израз звучи така: дължината на качеството е винаги по-голяма от един от най-големия номер (индекс) компонент масива.Дължина на качеството се регулира автоматично, пребиваващи точен при поява в масив на нови части.
стигна до крайния елемент на масива, можете да използвате дължината на функция.
последния елемент има индекс е един по-малко от размера на масива.След преброяване винаги се започне от нулата.О, това JavaScript!Дължината на масива тя зависи от точния брой на предметите.Ето защо, ако вие не знаете колко те трябва да бъде, но трябва да се обърнат към крайния елемент на масива, трябва да се прилага по отношение на запис: v.length - 1.
Бюст части масив
Много често, собственост на дължина се използват за обхождане на масив от части в цикъла:
- VAR плодове = [«Ягода", "праскова", "ябълка", "банан"];
- за (VAR I = 0; I & LT; fruits.lenght; аз ++);
- document.write (плодове [I] + «...»).
В този пример, се оказва, че компонентите се поставят постоянно и започват с първата част, която е собственик на индекса на нула.Ако не е, преди да се обадите на всеки елемент на масива трябва да се провери, дали тя е определена.
цикъл е също така понякога се използва за инициализиране на компоненти.
Zoom и отрязване масив
чудя как използването на езика JavaScript в низ масив, за да добавите?В процеса на работа с масиви, дължината на дължината автоматично подобрява качеството, което е защо ние трябва да се тревожи за това себе си.Необходимо е да си спомняме за една подробност - собственост на дължина е не само за четене е на разположение, но само за протокола.Ако дължина атрибут на качеството на стойността, която дава размера на ток, тогава масива се намалява до предварително определена стойност.Всички компоненти, които не са включени в новата серия на индексите, облягане, и техните стойности са изгубени, дори ако по-късно се върнете обратно дължина - не се възстановяват.
много лесни за почистване, защото масива: foo.length = 0.
Ако качеството на дължина тече по-голяма от сегашната си стойност в края на масива ще бъдат нови, неизвестни елементи, които ще го увеличат до желания размер.
Премахване части масив
изтриете оператор определя компонент масива да неопределено, но тя продължава да съществува в този случай.Ако трябва да премахнете елемент на JavaScript масив, така че останалите части бяха изместени за място, трябва да използвате един от методите за прогнозиране на масива.Метод Array.shift () премахва първия компонент, поп () - крайната съставка и метод снаждане () - една или набор от компоненти навсякъде в масива.
многомерни масиви
мисля, че ние разбираме малко за това, което JavaScript.Двумерни масиви - които трябва да бъдат разгледани по-нататък.Вие си спомняте, че JavaScript масиви като компоненти могат да съдържат и други елементи?Тази функция се използва за производството на многомерни масиви.За да посетите съставките в масив от масиви е достатъчно да се прилага два пъти на конзолите.
Асоциативното масиви
Сега, ние се научите как да използвате JavaScript търговска марка асоциативни масиви.За да направите това, ние трябва да погледнем в теорията: асоциативни масиви понякога са наричани хеш таблица.Благодарение на тях, за използваните индекси на линия.Използването на такива структури, напомнящи за използването на името на свойствата на една проста задача, но в този вариант, когато се работи във формат масив.Както в JavaScript че няма начин да действат асоциативни масиви, те се използват много по-рядко от обикновено.Следва да се отбележи, че те все още могат да бъдат полезни за съхранение на данни и опростяване на съхранение на части към които искате да осъществите достъп.
изход масив
И сега ние ще учат в JavaScript?Продукцията на масива да се диалогов прозорец (на екрана), и свържете изходните стойности на компонентите на масива.
Ако програмата, която искате да покажете стойностите на всички компоненти, а след това е удобно да се прилагат указанията за.Интересното е, че променливата борсата се използва в правилата за този индекс компонент масив.
Почистване
да филтрирате масив от JavaScript, трябва да нулирате дължината:
- Var MyArray = [1, 2, 5, 23];
- myArray.length = 0.
следната показва изпълнението на дестинация ясно (), в JavaScript-рамка, Prototype:
- ясно: функция () {;
- this.length = 0;
- върне това;
- }.
добавяне и премахване на компоненти
Е, ние продължаваме да се проучи допълнително този интересен език JavaScript.Array елемент и могат да бъдат отстранени и се добавя по същия начин като конвенционалните свойства на други обекти.Но има някои различия: при добавяне на числовите свойства може да се промени качеството на дължина, и промяната на собствеността на дължина може да се изхвърлят числения качество.По принцип, за определяне качества в такива масиви на алгоритъма е:
- Когато добавите неизвестните свойства на цифрова аз, ако дължината е равна или по-малко, отколкото аз, дължината му е решена да бъде аз + 1 ,.
- Когато промените качеството на дължина се извършва, както следва: ако очакваната стойност е по-малка от нула, а след това хвърля RangeError.Ликвидирани всички числени индекси за качество, които са равни на новата дължина, и по-голяма от.
Обикновено се премахне елементът на JavaScript масив е лесно.В крайна сметка, дори и за определяне на дължината, че е необходимо да се отстранят от "екстра" компоненти.Поради възможността за почистване в масива.Ако променливата е назначен нов празен масив по някаква причина, не е изпълнено, и че е необходимо да рестартирате ток, качеството му е достатъчна, за да се придаде стойност на нулева дължина.
методи unshift, на смени, поп и изтласкват
Въпреки факта, че компонентите на масива се сменят ръчно, много препоръчвам това да се прилага вградени методи.Той е този нюанс гарантира правилната стойност на качеството и липсата на дължина в проходите на масив.Между другото, на правилната дължина на качеството ще отговаря на броя на компонентите.
метод тласък се придвижва към края на масива пусна към детайлите.Метод поп дава обратно към крайния компонент и го премахва.
Обикновено в Internet Explorer под осмата версия unshift може да се върне недефинирана, в други браузъри - новата стойност на дължина.Така че върху стойността възвръщаемост от unshift е по-добре да не се надявам.
Добавяне и премахване на части в средата на масива
Ако искате да изтриете масив от JavaScript, трябва да се вземат?Известно е, че методът е с подпис снаждане Array.prototype.splice.
Той се оттегли от компонентите на масив deleteCount, като се започне с индекса старт.Ако сте прехвърлили повече от два аргумента, всички последващи аргументи са поставени в масива вместо ликвидирани.Ако старт е минус, индексът, от които да възобновят изтеглянето ще бъде равна на дължината + започне.Връща масив от елементи идва от устройството за дистанционно управление.
Всъщност, като се използва метод снадката, компоненти могат да бъдат отстранени от средата на масива, или да добавите произволен брой навсякъде в масива.
В най-простия случай, ако трябва да се демонтира компонент с индекс аз, трябва да поиска метода на масив снаждане с параметрите, аз и 1.
По принцип вторият вариант на метода на снаждане не е задължително, но поведението на един аргумент във всеки браузър различен,
Например, в Firefox, през последните варианти на Opera, Safari и в в Chrome всички елементи ще бъдат изтеглени преди края на масива.
в IE няма да ликвидира всеки компонент.В първия вариант е невъзможно да се предскаже поведението на Opera - ще бъдат премахнати от самия индекс старт - 1. Поради това, че винаги трябва да премине в метода поне два компонента.
Keys
разбира се, учене JavaScript, асоциативни масиви, както е споменато по-рано, вие също трябва да не губят от поглед.Това е абстрактен вид информация (интерфейса на паметта за данни), която ви позволява да запишете на двойки на формата "(ключ, стойност)" и се добавя един чифт операции по поддържане, както и изтриване и търсене на ключови двойки:
- НАМЕРИ (ключ).
- INSERT (стойност, ключ).
- REMOVE (ключ).
Смята се, че в асоциативния масив успя да спаси два чифта със същия ключ.В няколко к + ст нарича стойност, свързана с ключовата к.Семантика и имена на горните операции в различни реализации на такива масиви могат да бъдат различни.
Така ефектът от FIND (ключ) връща стойността, свързана с даден ключ, или конкретен обект UNDEF, което означава, че стойността, свързана с дадена ключова липсва.Две други действия не се връщат нищо (с изключение на данните, които сте изпълнена успешно тази транзакция).
цяло, от гледна точка на интерфейса, който е асоциативен масив счита като обикновен масив, където като индекси може да се прилага не само цели числа, и други видове стойности на - например линии.
начин, подкрепа за такива масиви има много тълкуват високо ниво езици за програмиране като PHP, Perl, Ruby, Python, Tcl, JavaScript, и др.За езици, които нямат вградени инструменти за работа с асоциативни масиви, създадени огромен брой внедрявания под формата на библиотеки.
пример на асоциативен масив може да служи като телефонен указател.В този вариант, стойността на набор от "Е.IO + д ", а ключът - телефонният номер.A телефонен номер е един господар, но един човек не може да притежава няколко стаи.
Associated разширение
Трябва да се отбележи, че най-известният от разрастване включват следното:
- ВСЕКИ - «отидете» да спаси всички двойки.
- CLEAR - за да изтриете всички записи.
- MIN - намери един чифт с най-нисък ключ.
- MAX - намерете двойката с най-важните.
В последните два случая, които трябва да върху клавишите посочено ефекти на сравнение.
реализации на асоциативен масив
Има много различни реализации на асоциативен масив.Най-честата изпълнението може да се основава на една проста масив, чиито компоненти са изпарения (ключът стойност) посочените.За да се ускори действията за Вас може да се поръча за елементите на масива и изпълнява важна констатация чрез използване на двоичен търсене.Но тя ще се увеличи размера на времето, което трябва да се добави нов чифт, като ще трябва да "избута" компонентите на масива, който се появява в една празна клетка, за да се опаковат пресни рекорд.
най-известен с изпълнението, въз основа на различни Вас дървета.Така например, в една типична читалня STL на C ++ карта контейнер се осъществява въз основа на черно и махагон.В стила на Ruby, Tcl, Python, използван тип хеш-таблица.Има и други изпълнение.
По принцип, всяка реализация има своите предимства и недостатъци.Важно е, че и трите операции са били изпълнени средно, а в най-лошия период на нюанс около (влезте п), където п - номерът на текущата да спаси ал.За съгласувана дървета Вас (включително черно и червено дървета), това условие е изпълнено.
известно, че реализации на базата на хеш таблици, определени като средно време O (1), което е по-добре от действията, основани на дървото за търсене.Разбира се, това не е гаранция за изпълнение високоскоростна на определени операции: продължителността на отчета за INSERT е посочена като най-лошия случай O (п).INSERT процес се извършва за дълго време, когато съотношението на дълг достига най-високата точка, и там е необходимостта да се реконструира таблицата на индекса хашиш.
начин, тези изявления хеш лоши, че въз основа на това, че е невъзможно да се извърши бързо допълнителни действия MAX, MIN и прекосява алгоритъм, за да спаси всички двойки по реда на намаляване или увеличаване на ключове.