JavaScript-macierz i jej tworzenie.

W tym artykule przyjrzymy się Javascript tablicy, jego komponentów.JavaScript jest doskonale zorientowany język skryptowy, stworzony dla programowania.W rzeczywistości, zdaje sobie sprawę, język (standardu ECMA-262) ECMAScript.

Gdzie w użyciu JavaScript?Jest on stosowany jako osadzonym językiem w celu określenia ścieżki do aplikacji przedmiotu.Można go znaleźć w wyszukiwarce: stosuje się go tam jako języka skryptowego, który daje interaktywności do stron internetowych.

ważne elementy architektoniczne tego produktu są dynamiczne i słabe pisania, pamięci avtoupravlenie, idealne funkcje programowania, które są obiektem pierwszej kategorii.

Faktycznie, w JavaScript wpływ różne przyczyny, ponieważ rozwój stworzy język podobny do Javy, ale łatwy w użyciu przez programistów.Nawiasem mówiąc, język JavaScript nie jest właścicielem żadnej firmy lub organizacji, które sprawia, że ​​różni się od wielu stylach programów używanych przez programistów.

Uwaga: JavaScript - zarejestrowanego znaku towarowego koncernu Oracle Corporation.

Czym jest tablica?

typ danych o nazwie Array, że sklepy policzone wartości.Każda z tych wartości określa się jako składnik w tablicy, a liczba z którym składnik jest zwany indeks.JavaScript-bez typu tablica.Oznacza to, że szczegóły tablicy może mieć jakiegokolwiek rodzaju, z różnych pozycji należących do tej samej tablicy, mają zupełnie inne style.

dodatek, JavaScript, tablica jest dynamiczny, a mówi się, że stały rozmiar nie ma potrzeby deklarowania.Po dodaniu nowych elementów w dowolnym czasie.Tablica

Produkcja

Używanie języka JavaScript, aby utworzyć tablicę dość trudne.Istnieją dwa sposoby na to.Pierwszy obejmuje produkcję tablicy przy użyciu dosłownym - w nawiasach kwadratowych, wewnątrz którego umieszczony jest wykaz pozycji, podzielone przecinkami.

  • var pusta = [];// Pusta tablica;
  • numers = var [4, 1, 2, 5];// Tablica z pięciu komponentów cyfrowych;
  • var diff = [1,5, fałszywe, "tekst"];// Tablica trzema elementami różnych typów.

Zazwyczaj nie ma wymogu, że wartości były proste (i numer linii).Może to być także inne wyrażenia, na przykład, z zastrzeżeniem literałów inne funkcje i tablice.

Drugim sposobem na utworzenie tablicy projektanta jest zadzwonić Array ().Zaprosić go są trzy metody:

  • Wywołanie markowe bez argumentów: var B - new Array ().Przewiduje on utworzenie pustej tablicy równowartość dosłowne pusty [].
  • Projektant wyraźnie wskazuje na wartość n elementów tablicy: var b = new Array (1, 3, 5, 8, "linia", true).W tym przypadku, projektant przedstawiono listę argumentów, które są przekształcane do składników nowej tablicy.Argumenty są zapisywane w tablicy jest miejsce, w którym wskazane.
  • Scoping na później przypisanie wartości.Odbywa się to przez podanie macierzy wykrywania liczby w nawiasach: var B = nową tablicę (5).Ten sposób wykrywania obejmuje alokację tablicy wymaganej liczby elementów (z których każdy jest określony jako nieokreślone) z możliwością przypisywania wartości w procesie dyskusji.Ta forma jest zazwyczaj używany do wstępnie przydzielić Javascript tablicę, którego długość jest znana z góry.

pisanie, czytanie i części tablicy dodawanie

dotrzeć do elementów tablicy, można użyć [] operatora.Nawiasem mówiąc, wszystkie składniki JavaScript, zaczynając od zera, policzone.Aby uzyskać niezbędne elementy, jego numer jest podany w nawiasie.Z reguły, elementy mogą być zmieniane.Javascript, aby dodać do tablicy, należy przypisać nową wartość.

należy zauważyć, że w tablicy JavaScript może przechowywać dowolną liczbę elementów każdego rodzaju.

Długość

Więc wiemy, co JavaScript.Długość tablicy w ogóle to ciekawe zjawisko.Rozważmy je bardziej szczegółowo.Wszystkie zakresy są zaprojektowane przez projektanta Array (), a zidentyfikowane dzięki dosłownym tablicy mieć określoną długość nieruchomości, które przypomina całkowita liczba elementów są zachowane.Ponieważ tablica może być pewne szczegóły (oznaczonych niezdefiniowany), bardziej dokładne wyrażenie brzmi tak: Długość Jakość jest zawsze większa o jeden od największego tablicy numer (indeks) komponentów.Długość Jakość jest regulowany automatycznie, pobytu dokładne w wystąpieniu w tablicy nowych części.

przyszedł do ostatniego elementu tablicy, można użyć pełnometrażowy.

ostatni element ma wskaźnik jest mniejszy niż rozmiar tablicy.Po zliczeniu zawsze zaczynać od zera.Och, to JavaScript!Długość matrycy zależy od dokładnej liczby elementów.Dlatego też, jeśli nie wiesz, jak bardzo powinny być, ale trzeba zwrócić się do ostatniego elementu tablicy, trzeba zastosować zapis: v.length - 1.

części Bust tablica

Bardzo często własnością długość jest używane iteracyjne nad tablicy części w cyklu:

  • var fruits = [«Truskawka", "brzoskwinia", "jabłko", "banan"];
  • for (var i = 0; i & lt; fruits.lenght; i ++);
  • document.write (owoce [i] + «...»).

W tym przypadku wydaje się, że elementy są umieszczone w sposób ciągły i zacząć od pierwszej części, która posiada indeks zerowy.Jeśli nie, przed wywołaniem każdego elementu tablicy należy sprawdzić, czy jest on zdefiniowany.Cykl

jest czasami używany do inicjacji komponentów.

zoom i tablicy obcięcia

zastanawiam się, jak za pomocą języka JavaScript w tablicy ciągów dodać?W trakcie pracy z tablicami, długość długości automatycznie poprawia jakość, dlatego musimy się martwić o to samemu.Należy pamiętać o jednym - długość nieruchomość nie jest dostępne tylko do odczytu, ale dla przypomnienia.Jeśli atrybut długości do jakości wartość, która daje wielkość prądu, to matryca jest zmniejszona do uprzednio określonej wartości.Wszystkie części, które nie są zawarte w nowej gamy wskaźników, półleżą, a ich wartości są stracone, nawet jeśli później wrócić długość - nie można odzyskać.

bardzo łatwy do czyszczenia, ponieważ tablica: foo.length = 0.

Jeśli jakość długości przebiegu przewyższają wartości bieżącej na koniec tablicy będzie nowa, niezidentyfikowane przedmioty, które ją zwiększyć do pożądanej wielkości.

Usuwanie części tablicy

usuwać operator określa komponent tablicy undefined, ale to nadal istnieje w tym przypadku.Jeśli trzeba usunąć element z tablicy JavaScript, aby pozostałe części zostały przesunięte na miejsce, należy użyć jednej z metod przewidywania tablicę.Metoda Array.shift () usuwa pierwszy element, pop () - ostateczny składnik, i splice () metoda - jeden lub szereg elementów w dowolnym miejscu na tablicy.

tablice wielowymiarowe

, że rozumiemy się trochę o jakim JavaScript.Tablice dwuwymiarowe - że należy się zająć bardziej.Pamiętasz, że tablica JavaScript jako składniki mogą zawierać inne elementy?Ta funkcja służy do wytwarzania tablic wielowymiarowych.Aby odwiedzić składników w tablicy tablic wystarczy zastosować wsporniki dwukrotnie.

asocjacyjnych

Teraz dowiadujemy się, jak korzystać z towarowym JavaScript tablic asocjacyjnych.W tym celu musimy patrzeć w teorii zrobić: tablice asocjacyjne są czasami nazywane tabeli mieszania.Dzięki nim, indeksy używaną linię.Zastosowanie takich struktur przypominających z użyciem nazwy właściwości obiektu prostego, ale w tym przykładzie wykonania, przy pracy w formie tablicy.Jak w JavaScript nie istnieją sposoby obsługi asocjacyjnych, stosowane są znacznie rzadziej niż zwykle.Należy zauważyć, że wciąż mogą być użyteczne do przechowywania danych i uproszczenie przechowywania elementów, do których mają mieć dostęp.

tablica wyjście

A teraz będziemy studiować w JavaScript?Wyjście matrycy do okna (na ekranie), a wartości wyjściowych składników macierzy.

Jeśli program, który chcesz wyświetlić wartości wszystkich składników, to wygodnie jest stosować się do instrukcji.Co ciekawe, o zmiennej licznik jest stosowany w zasadach tej tablicy komponentów indeksu.

Sprzątanie

Aby filtrować tablicy JavaScript, trzeba zresetować długość:

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

następujące pokazuje realizację celu clear (), w ramach Javascript, Prototype:

  • jasne: function () {;
  • this.length = 0;
  • wrócić w tym;
  • }.

Dodawanie i usuwanie komponentów

Cóż, nadal będziemy dalej badać ciekawe języka JavaScript.Element tablicy i może być usunięty i dodano w ten sam sposób jak konwencjonalne właściwości innych obiektów.Są jednak pewne różnice: podczas dodawania właściwości numerycznych można zmienić jakość długości i modyfikacja właściwości length można wyrzucać jakości numerycznej.W zasadzie, algorytm ustalania właściwości w takich tablic jest:

  • Po dodaniu nieznane właściwości cyfrowych i, jeśli długość jest równa lub mniejsza niż ja, długość jest zdeterminowana, aby być i + 1 ,.
  • Po zmianie jakości długości dokonywane są w następujący sposób: jeśli przypisana wartość jest mniejsza od zera, a następnie rzuca RangeError.Zlikwidować wszelkie liczbowe wskaźniki jakości, które są równe nowej długości i więcej niż.

Ogólnie usunąć element tablicy JavaScript jest łatwe.Po tym wszystkim, nawet ustawiania długości, konieczne jest usunięcie z "dodatkowe" składników.Stąd opcja czyszczenia w tablicy.Jeśli zmienna jest przypisana nową pustą tablicę z jakiegoś powodu, nie zadowolony, a to jest konieczne, aby przywrócić prąd, jego jakość jest wystarczająca do przypisania wartości zerowej długości.Metody

unshift, przesunięcie, pop i wcisnąć

Pomimo faktu, że elementy tablicy są zmieniane ręcznie, wiele polecam to zastosowanie wbudowanej metody.To jest ten niuans gwarantuje prawidłową wartość jakości i braku długości w przejściach tablicy.Przy okazji, właściwa długość jakość będzie odpowiadać liczbie elementów.Metoda Push

przesuwa się do końca tablicy przeszedł do szczegółów.Metoda pop daje z powrotem do ostatniej części i usuwa je.

Generalnie w programie Internet Explorer w ramach ósmego wersji unshift może powrócić niezdefiniowany, w innych przeglądarkach - nowa wartość długości.Więc na wartości powrotnej z unshift lepiej nie nadzieję.

Dodawanie i usuwanie elementów w środku tablicy

Jeśli chcesz usunąć tablicę JavaScript, trzeba wziąć?Wiadomym jest, że sposób ten ma Array.prototype.splice splicingowy podpis.

On wycofuje się z elementów tablicy deleteCount, począwszy od początku indeksu.Jeśli przeniesiona więcej niż dwa argumenty, wszystkie kolejne argumenty są umieszczone w tablicy zamiast likwidacji.Jeśli start jest minus, indeks, z którego można wznowić wycofanie będzie równa długości + zacząć.Zwraca tablicę elementów pochodzi z pilota.

W rzeczywistości, z wykorzystaniem metody splicingu, składniki mogą być usuwane z środku tablicy lub dodać dowolną liczbę gdziekolwiek w tablicy.

W najprostszym przypadku, gdy trzeba usunąć element z indeksem i, trzeba zwrócić się do metody tablica spawów z parametrami i oraz 1.

W zasadzie druga opcja na metody splice nie jest obowiązkowe, ale zachowanie jednym argumentem w każdej przeglądarce innym,

Przykładowo, w Firefoksie, w ostatnich zmian Opera, Safari i Chrome wszystkie elementy zostaną wycofane przed końcem tablicy.

w IE nie będzie likwidacji jakiegokolwiek elementu.Pierwszy wariant jest niemożliwy do przewidzenia zachowanie Opery - zostanie usunięty jeden kawałek z początku Główna - 1. Dlatego też, zawsze należy przekazać w sposób co najmniej dwa składniki.

Klucze

Oczywiście, nauka JavaScript, tablice asocjacyjne, jak wspomniano wcześniej, również nie należy tracić z oczu.Jest to streszczenie rodzaju informacji (interfejs do przechowywania danych), co pozwala zaoszczędzić par postaci "(klucz, wartość)" i dodać parę operacji wsparcia, a także usuwania i wyszukiwania dla par klucz:

- ZNAJDŹ (klucz).

- INSERT (wartość, klucz).

- USUŃ (klucz).

Uważa się, że w tablicy asocjacyjnej nie można zapisać dwie pary z tym samym kluczem.W kilka k + vv zwanej wartości związanej z kluczem k.Semantyki i nazw powyższych operacji w różnych implementacjach tych tablic może być inna.

Tak więc, efekt znalezienia (klucz) zwraca wartość związaną z danym kluczem, lub konkretnego obiektu UNDEF, co oznacza, że ​​wartość wiąże się z danym kluczem brakuje.Dwa inne działania nie zwraca niczego (z wyjątkiem danych, które zostały z powodzeniem wykonywany tej transakcji).

Ogólnie z punktu widzenia interfejsu, który jest uważany za asocjacyjna prostym szeregu, przy czym jako wskaźniki mogą być stosowane nie tylko do liczb całkowitych, i inne rodzaje wartości - na przykład linii.

sposób, wsparcie dla tych tablic ma wiele interpretowane języki programowania wysokiego poziomu, takich jak PHP, Perl, Ruby, Python, Tcl, JavaScript i innych.W językach, które nie mają wbudowanych narzędzi do pracy z tablic asocjacyjnych, stworzył ogromną liczbę wdrożeń w postaci bibliotek.

przykładem tablicy asocjacyjnej może służyć jako książce telefonicznej.W tym przykładzie wykonania, wartość zestawu "F.IO + e ", a klucz - numer telefonu.Numer telefonu jest mistrzem, ale jedna osoba może posiadać kilka pokoi.

Associated rozszerzenie

należy zauważyć, że najbardziej znany ekspansji obejmują:

  • KAŻDY - «go», aby zapisać wszystkie pary.
  • CLEAR - aby usunąć wszystkie wpisy.
  • MIN - znajduje się para o najniższym klucza.
  • MAX - znaleźć parę z najbardziej istotną.

W dwóch ostatnich przypadkach trzeba na klawiszach wskazane skutki porównania.Implementacje

asocjacyjnych

Istnieje wiele różnych implementacji tablicy asocjacyjnej.Najczęstszą implementacja może być oparta na prostej matrycy, której elementy stanowią opary (key value).Aby przyspieszyć działania wyszukiwania można zamówić elementów tablicy i wdrożyć kluczowe stwierdzenie za pomocą wyszukiwania binarnego.Ale będzie to wzrost ilości czasu trzeba, aby dodać nową parę, jak będzie trzeba "push" z elementów tablicy, która pojawiła się w pustej celi do pakowania świeżego rekordu.

najbardziej znana realizacja na podstawie różnych drzew wyszukiwania.Na przykład, w typowym STL czytelni C ++ mapy pojemniku jest realizowany w oparciu o czarne i mahoniu.W stylu Ruby, Tcl, Pythona używany rodzaj tablicy mieszającej.Istnieją także inne zastosowania.

Generalnie każda realizacja ma swoje zalety i wady.Ważne jest, że wszystkie trzy operacje zostały spełnione średnio, a w najgorszym okresie niuansów o (log n), gdzie n - aktualny numer, aby zapisać par.Przez uzgodnionych drzew wyszukiwania (w tym czarnych i czerwonych drzew), warunek ten jest spełniony.

wiadomo, że implementacje oparte na tabelach z cebulą, zdefiniowane jako średni czas O (1), który jest lepszy od działań opartych na drzewie poszukiwań.Oczywiście, to nie gwarantuje szybkiego wykonywania pewnych operacji: czas trwania INSERT jest dalej najgorszym przypadku O (n).Proces INSERT prowadzi się przez długi czas, gdy współczynnik wypełnienia dochodzi do najwyższego punktu, i nie ma potrzeby, aby zrekonstruować tabeli indeksu hash.

sposób wypowiedzi te hash złe, że na tej podstawie nie jest możliwe, aby wykonać szybki dodatkowe działania MAX, MIN i algorytm przejścia zapisać wszystkie pary malejącej lub zwiększenie klucze.