JavaScript, tablice: opis

10.05.2019

JavaScript jest nowoczesnym językiem programowania, jest unikalny pod względem składni i semantyki. Jest specyficzny, ale łatwy w użyciu i skuteczny, jeśli chodzi o tworzenie dynamicznych i niezawodnych zasobów sieciowych.

tablica javascript

Tablica JavaScript to nowoczesna forma reprezentacji danych, która różni się od podobnych struktur innych języków. Doświadczenie w dziedzinie reprezentacji i przetwarzanie informacji dla javascript zawsze miało znaczące znaczenie. To właśnie tutaj w przeglądarce działa dialog z klientem. To tutaj ważne jest, aby szybko zdemontować linię informacji z serwera i pomalować ją przy użyciu niezbędnych znaczników. Języki serwera tworzą treść i strukturę stron, ale ich właściwe użycie dotyczy języka przeglądarki.

Reprezentacja informacji: zmienne i dane

Profesjonalny programista używa zmiennych w prostych przypadkach, gdy "robi" dla (...) {...}, "kontroli", podczas gdy (...) {...}, "używa" przełącznika () {case "": ...}, ... struktury w We wszystkich innych przypadkach informacje są reprezentowane przez struktury danych.

Przykładowy kod, wstawka autora, nie rysowanie

Rzadko dane są reprezentowane przez prosty zestaw zmiennych. Jest to konstrukcja statyczna, która łączy w sobie cechy nazewnictwa i użytkowania. Praca z zestawami zmiennych jest ograniczona ilością dostarczonych informacji i dlatego jest używana do prostych algorytmów i funkcji lokalnych.

Tablica JavaScript jest bardziej dynamiczną i pojemną wersją zmiennej, gdy jest strukturą danych. Indeksując tablicę, na przykład według linii wartości, czasu lub innego parametru, można mieć różne treści dla każdego indeksu. Tablica może być zbiorem (zdefiniowaną strukturą) zmiennych, które po umieszczeniu w innej macierzy będą reprezentować dynamikę takiej struktury według parametru lub czasu.

Na koniec możesz utworzyć tablicę obiektów lub system obiektów - konceptualną kombinację danych, która ma strukturę, treść i zestaw metod, które "same" wykazują odpowiednie właściwości.

We wszystkich wymienionych przypadkach informacja jest przedstawiana w sztywny, formalny i dostępny sposób do przetwarzania za pomocą języka. Tylko jeśli sam kod jest manipulowany przez "sam system" obiektów i żadna konstrukcja nie jest dozwolona poza metodą obiektu, możemy powiedzieć, że istnieje szansa na przetworzenie i wytworzenie informacji, która nie jest sformalizowana lub sformalizowana podczas wykonywania algorytmu.

Syntaktyczne konstrukcje językowe

W pierwszym przybliżeniu tablica JavaScript jest podobna do konstrukcji syntaktycznych innych języków. Semantyka jest również odpowiednikiem, z wyjątkiem form jego ekspresji. Możesz użyć składni i semantyki JavaScriptu i pomyślnie rozwiązać złożone zadanie.

tablica asocjacyjna javascript

Nie ma szans, że zostanie osiągnięta pełna mobilność kodu i dostosowanie utworzonego zasobu do zmieniających się warunków aplikacji, odpowiednia reakcja na wszelkie nieprzewidziane zmiany pojawiających się informacji i zasady ich przetwarzania mogą być z powodzeniem realizowane.

Definicja standardowej składni języka Tablice JavaScript Funkcje i metody są dość obszerne, ale w praktyce zwykle używana jest tylko część.

Przykładowy kod, wstawka autora, nie rysowanie

forEach jest najciekawszą metodą tablicową. JavaScript zapewnia programistom możliwość definiowania własnej funkcji do pracy z każdym elementem tablicy. Nie ma pojęcia "break", to znaczy, ponieważ Any należy traktować jako operację na wszystkich elementach tablicy.

  • aData.forEach (funkcja (val, ind, arr) {...});

tutaj "val" jest elementem, "ind" jest jego indeksem, a "arr" jest rzeczywistą tablicą "aData". Funkcja może wykonywać dowolne działania na elementach tablicy. Jeśli ma on określone znaczenie, będzie to działanie programisty, a nie składnia języka, to znaczy, że tablica będzie zawierać nie tylko treść, ale także operacje dostępne dla niej zgodnie z jej przeznaczeniem w ogólnym kontekście algorytmu.

Poza składnią

Korzystając z tablicy obiektów JavaScript, możesz wyjść poza składnię. Formalnie, każda zmienna obiektu i każda konstrukcja jego metody leży w składni języka, ale w kontekście programowania obiektowego powstaje efekt systemowy - nowa jakość, która oferuje własną składnię: "niezależne" relacje między obiektami.

Klasyczna koncepcja rozwoju oprogramowania: tłumaczenie algorytmu formalnego na konkretne konstrukcje syntaktyczne języka. W każdym miejscu kodu istnieje sztywne połączenie z tym, co się stało z tym miejscem i co się stanie po nim.

javascript usuń element tablicy

Formuła obiektowa wygląda diametralnie inaczej. Istnieją obiekty, które mają zawartość i właściwości. To właśnie zapewnia wzajemne relacje (kod, który je implementuje) obiektów. Żaden kod poza tymi relacjami nie powinien być.

W JavaScript element tablicy i mechanizm dostępu mają oryginalny kontekst. Wszystkie elementy są równoważne, ale ostatni jest wyjątkowy. Tablica nie jest obiektem, ale oglądając tablicę przez pryzmat jej ostatniego elementu, w kontekście jej mechanizmu dostępu można uzyskać obiekt, który zmienia jego istotę i właściwości - jest to istotne pominięcie obecnej (nowoczesnej) koncepcji programowania obiektowego, pośrednio realizowanego przez programistów język javascript.

Tablica JavaScript: tworzenie

Idealna i piękna konstrukcja tablicy:

  • var aData = []; // zasadniczo zawsze jest tablicą;
  • var aData = {}; // według treści, ewentualnie tablicy asocjacyjnej;

Możesz pisać i więcej "inteligentnie":

  • var aData = new Array ();

lub bardzo "notorycznie":

  • var aData = new Array (13).

JavaScript nie wymaga obowiązkowego wskazywania liczby elementów i nie nakłada żadnych zasad dotyczących indeksowania, rozmiarów lub typów elementów. Na tej prostej zasadzie nie zaleca się nadużywania swoich praw poprzez ich ograniczanie: wszystkie tablice powinny być reprezentowane i wykorzystywane w możliwie jak największym stopniu.

Użyj tablic

Każdy element tablicy ma indeks - wartość liczbową od 0 do 2 32 , ale nie należy podchodzić do tej liczby. Praktyczna i pragmatyczna tablica JavaScript to dziesiątki, setki, tysiące elementów, ale nic więcej. Jeśli potrzebujesz więcej, lepiej najpierw zrewidować algorytm lub zadanie techniczne, a jeśli nic się nie wydarzy, to tylko multimilionowe, masywne struktury mogą zostać zaprojektowane w głębi przeglądarki.

długość tablicy javascript

Indeksy tablic nie zawsze są spójne. W JavaScript usunięcie elementu tablicy oznacza wykonanie w nim "dziury". W procesie korzystania z macierzy może on przekształcić się w "sito" indeksów, co nie wpływa na jego wydajność, bezpieczeństwo innych elementów.

JavaScript pozbawiony jest zwięzłego konstruktu PHP: $ aData [] = "new element"; i proponuje ścisłe wskazanie, co jest dodawane i w którym konkretnym elemencie (z którym indeksem) wartość się zmienia. Typ przedmiotu nie ma znaczenia. Tablica może zawierać wszystko, co jest dozwolone przez składnię, w dowolnej kolejności i asortymencie.

Metody push () i pop () eliminują brak "$ aData [] = ...", ale zwracają uwagę programisty na ideę ostatniego elementu i przypominają o koncepcji stosu. Podobna para metod - unshift () i shift () - działa z pierwszym elementem tablicy, przesuwając pozostałe elementy w kierunku dużych indeksów.

Przykładowy kod, wstawka autora, nie rysowanie

W przypadku javascript długość tablicy jest pojęciem relatywnym. Nie zawsze odzwierciedla faktyczną liczbę elementów, a będąc związanym z metodą długości, na przykład w pętli, zawsze należy sprawdzić, czy element z wymaganym indeksem faktycznie istnieje.

Wymiar tablicy

Systemy są "zawsze jednowymiarowe", ale każdy system składa się z wewnętrznych podsystemów i sam jest częścią czegoś bardziej globalnego. Podobnie jak w przypadku ogólnej koncepcji systemów, w JavaScript nie ma dwuwymiarowej tablicy, ale można ją łatwo utworzyć, dodając inne tablice jako elementy tablicy.

Przykładowy kod, wstawka autora, nie rysowanie

Indeksowanie za pomocą wewnętrznych tablic formuje się w naturalny sposób: "aData [i] [j] ... [z]", ale idea jest zawsze lepsza:

  • var aElement = aData [i]; // wybierz wewnętrzną tablicę;
  • aElement [j] = ...; // użyj wewnętrznego elementu tablicy.

W JavaScript dozwolone jest dodawanie zmiennej dowolnego typu w dowolnej kolejności do tablicy. Możesz również dodać coś do wewnętrznej tablicy według ogólnych zasad. Aby uzyskać dostęp do elementów, można użyć sekwencji nawiasów [], ale zawsze lepiej jest dokonać ponownego przypisania, ograniczonego tylko do jednej pary [] w każdym wyrażeniu.

Wielowymiarowe tablice JavaScript - jest w porządku dostarczona przez składnię i ma zastosowanie w praktyce. Ale, podobnie jak w innych językach, najlepiej jest, gdy wymiary są mniejsze, a czytelność kodu jest wyższa. Programy są oczywiście napisane na komputery, interpretatory i kompilatory, ale ludzie je piszą, ludzie też im towarzyszą, a im wyższa jest dostępność kodu dla autora i programisty zewnętrznego, tym bardziej jest on praktyczny.

Dodaj i usuń elementy

Składnia JavaScript pozwala dodawać elementy do tablicy, po prostu tworząc nowy indeks:

  • aData [3] = "pewna wartość";
  • aData [100] = "ostatni element".

Po tych instrukcjach JavaScript, tablica aData będzie zawierała 101 elementów. Numeracja zaczyna się od indeksu 0. Dla metody length nie ma znaczenia, ile elementów było w tablicy w czasie wykonywania "aData [100] = ...;".

sortowanie tablic javascript

Aby usunąć element tablicy w JavaScript, możesz użyć jego metod pop () lub shift (). W pierwszym przypadku wynikiem var last = aInfo.pop () będzie "arbuz", aw tablicy pozostanie: "jabłko", "gruszka", "mandarynka". W drugim przypadku var first = aInfo.shift () będzie "apple", a pozostałe elementy zostaną przeniesione na początek.

Ta opcja jest bardzo skuteczna, gdy tablica obiektów JavaScript jest obiektem zmieniającym semantykę i treść. Mechanizm próbkowania elementu wraz z jego usunięciem pozwala na użycie bieżącego elementu tablicy i przejście od razu do następnego. Podobnie jak w stosie: wzięty ze stosu, użyty - i uzyskał dostęp do następnego elementu.

Używając operatora JavaScript, możesz usunąć element tablicy w następujący sposób:

  • usuń aInfo [1].

Po wykonaniu tej instrukcji element faktycznie pozostanie w tablicy, ale jego wartość będzie "niezdefiniowana". Używając metody slice, tablica JavaScript może być "podzielona":

  • aData = aInfo.slice (0, 2).

Oryginalna tablica aInfo pozostanie niezmieniona, a tylko jabłko i gruszka wpadną do danych. Jeśli napiszesz:

  • aData = aInfo.slice (2);

wtedy tylko "mandarynka" i "arbuz" pozostają w tablicy danych.

Sortuj, łańcuch i elementy tablicy

Operacje JavaScript: sortowanie tablicy, konwertowanie tablicy na łańcuch znaków, tworzenie tablicy z łańcucha znaków, a zmiana kolejności elementów jest najbardziej pożądana. Te operacje są wykonywane przy użyciu następujących metod:

  • sort (elementy sortowania),
  • join (konwersja tablicy na ciąg),
  • split (przekonwertuj ciąg na tablicę),
  • wstecz (zmień kolejność elementów).

Są to najbardziej interesujące i używane narzędzia do przetwarzania tablic i łańcuchów. Interesująca funkcja: w przypadku języka JavaScript element tablicy i ciąg znaków są swoistymi właściwościami komplementarnymi. Jeśli nie weźmiemy pod uwagę cechy charakterystycznej języków współczesnych: dowolna zmienna jest zawsze ciągiem znaków, to znaczy zawsze może być traktowana jako ciąg znaków, a transformacja tablicy w łańcuch i powrót jest bardzo popularną i skuteczną operacją.

dwuwymiarowa tablica javascript

Użycie pary join / split jest szczególnie oryginalne: połączenie elementów tablicy w łańcuch występuje na jednym ograniczniku (często puste, to znaczy elementy są scalane w jeden ciąg), a odwrotna transformacja w tablicę jest wykonywana na innym ograniczniku.

Przykładowy kod, wstawka autora, nie rysowanie

Jeśli nie weźmiesz pod uwagę implementacji metod łączenia i separacji, użycie tej pary pozwala tworzyć doskonałe algorytmy.

Funkcja reverse () jest stosowana bezpośrednio do tablicy i odwraca kolejność elementów w niej. Funkcja sort () sortuje elementy w tablicy źródłowej, zwraca wynik posortowany alfabetycznie.

Jeśli przekazujesz funkcję jako parametr do sortowania (funkcja (a, b) {...; return result;}), możesz kontrolować porządek sortowania za pomocą własnego algorytmu. Taka funkcja powinna zwracać "0", jeśli "a" i "b" są równoważne, "-1" - jeżeli "a" powinno poprzedzać "b" i "1" - jeżeli "b" powinno poprzedzać "a".

Jeśli nie ma szansy na uzyskanie błędnego wyniku w odniesieniu do funkcji reverse (), to w odniesieniu do sortowania niezbędny jest algorytm jego wykonywania i testowania napisanego kodu. Jest to szczególnie ważne, aby pamiętać. gdy tablica zawiera znaki (ciągi) alfabetu narodowego.

Inteligentne tablice i własne indeksy

W przypadku JavaScriptu tablica asocjacyjna jest prymitywną formą obiektu. Po prostu nie ma metod, ale jest tylko para "klucza" i "wartości". Do oznaczenia takiej tablicy służy para nawiasów klamrowych.

Przykładowy kod, wstawka autora, nie rysowanie

W tym przykładzie użyto tablicy cSortCols, której elementy przyjmują trzy wartości:

  • "- brak sortowania;
  • 'u' - sortuj rosnąco (w górę);
  • "d" - sortowanie w porządku malejącym (w dół).

Jednak w zależności od tego, co jest dokładnie posortowane (w tym przykładzie strona została zaprojektowana do transportu pasażerskiego minibusem): pasażerowie, przewoźnicy, autobusy lub miasta. Dlatego w tabelach elementów można sortować tylko według określonych kolumn. Dlatego na każdej konkretnej stronie, tablica cSortCols ma określoną zawartość: cUsersSort, cCompaniesSort, cBusesSort lub cCitiesSort.

Tworzenie asocjacyjnej tablicy w JavaScript może pójść znacznie dalej. Podany przykład sortowania jest szczególnym rozwiązaniem bardzo szczególnego zadania: wyjście z sytuacji, gdy własna funkcja JavaScript (sort) nie ma zastosowania.

Struktury danych są bardzo dobre, a używanie zestawów zmiennych jest bardzo niepraktyczne. Ale nikt nie zabrania używania nazw zmiennych jako wskaźników. Tablica, w której indeksy są reprezentowane przez nazwy zmiennych, jest wspaniałą strukturą danych mobilnych. To niekoniecznie ma wszystkie wskaźniki, ale w każdym miejscu programu będą one we właściwym składzie.

Programista może projektować inteligentne tablice, które odzwierciedlają właściwe struktury danych we właściwym miejscu. Jednocześnie nie można przystąpić do pełnego wykorzystania obiektów, wystarczy wykorzystać ich możliwości na etapie opisywania struktury i zawartości danych.

Ćwicz w pracy z tablicami

W przeciwieństwie do języków serwerów, w których zawsze jest jasne, co należy przetworzyć i jaki powinien być wynik, JavaScript wymaga określonego myślenia wielopoziomowego. Strona witryny może powodować pojawianie się zdarzeń i wywołań skryptów w nieoczekiwany sposób. Nawet jeśli techniczne zadanie strony jest wykonane w idealny sposób, a dialog z odwiedzającym nie może przekroczyć ustalonych limitów, pojawiają się niespodzianki.

javascript dodaj do tablicy

Charakterystyczną cechą JavaScript jest to, że element strony może aktywować konkretny proces. W wyniku tego niektóre dane, tablice, obiekty zostaną zmienione. Inny proces powinien mieć pojęcie o tym, co zostało zmienione.

Idealnie, procesy powinny być malowane na obiektach i tablicach tak, aby każde zdarzenie, inicjując jeden proces, określało wszystko, co jest niezbędne dla wszystkich innych procesów od niego zależnych.

Nie można przyjąć programowania obiektowego i nie dążyć do tego, aby wszystkie strony witryny były wyposażone w w pełni funkcjonalne systemy obiektów, które same wchodzą w relacje i nie ma ani jednej linii kodu poza metodami takich obiektów, ale nawet w przypadku wyłącznie klasycznego stylu programowania Tablice JavaScript, szczególnie asocjacyjne i uzbrojone zestawy implementacji funkcji forEach, są doskonałym narzędziem do niezawodnego i praktycznego kodu.