Samouczek JS

JS DOM Wprowadzenie do JS JS Dokąd Wyjście JS Oświadczenia JS Składnia JS Komentarze JS Zmienne JS JS Let JS Const Operatorzy JS Arytmetyka JS Zadanie JS Typy danych JS Funkcje JS Obiekty JS Wydarzenia JS JS Strings Metody ciągów JS Wyszukiwanie ciągów JS Szablony JS String Numery JS Metody liczbowe JS Tablice JS Metody tablic JS Sortowanie tablic JS Iteracja tablicy JS JS Array Const JS Daty Formaty daty JS JS Data Pobierz metody Metody ustawiania daty JS Matematyka JS JS losowo JS Booleans Porównania JS Warunki JS Przełącznik JS Pętla JS dla Pętla JS dla In Pętla JS dla Of Pętla JS, podczas gdy Przerwa JS Iterable JS Zestawy JS Mapy JS Typ JS Konwersja typu JS JS Bitwise JS RegExp Błędy JS Zakres JS JS Podnoszenie Tryb ścisły JS JS to słowo kluczowe Funkcja strzałki JS Klasy JS JS JSON Debugowanie JS Przewodnik po stylu JS Najlepsze praktyki JS Błędy JS Wydajność JS JS słowa zastrzeżone

Wersje JS

Wersje JS JS 2009 (ES5) JS 2015 (ES6) JS 2016 JS 2017 JS 2018 JS IE / Krawędź Historia JS

Obiekty JS

Definicje obiektów Właściwości obiektu Metody obiektowe Wyświetlanie obiektów Akcesoria do obiektów Konstruktorzy obiektów Prototypy obiektów Iterowalne obiekty Zestawy obiektów Mapy obiektów Odniesienie do obiektu

Funkcje JS

Definicje funkcji Parametry funkcji Wywołanie funkcji Wywołanie funkcji Funkcja Zastosuj Zamknięcia funkcji

Klasy JS

Wprowadzenie do zajęć Dziedziczenie klas Klasa statyczna

JS Async

Oddzwaniania JS Asynchroniczny JS JS Obietnice JS Async/Oczekiwanie

JS HTML DOM

Wprowadzenie do DOM Metody DOM Dokument DOM Elementy DOM DOM HTML Formularze DOM DOM CSS Animacje DOM Wydarzenia DOM Odbiornik zdarzeń DOM Nawigacja DOM Węzły DOM Kolekcje DOM Listy węzłów DOM

Zestawienie komponentów przeglądarki JS

Okno JS Ekran JS Lokalizacja JS Historia JS JS Navigator Wyskakujący alert JS Czas JS Pliki cookie JS

JS Web API

Wprowadzenie do internetowego interfejsu API Interfejs API formularzy internetowych Interfejs API historii online API przechowywania danych w sieci Web Web Worker API Internetowy interfejs API pobierania Internetowy interfejs API geolokalizacji

JS AJAX

Wprowadzenie do AJAX AJAX XMLHttp Żądanie AJAX Odpowiedź AJAX Plik XML AJAX AJAX PHP ASP AJAX Baza danych AJAX Aplikacje AJAX Przykłady AJAX

JS JSON

Wprowadzenie do JSON Składnia JSON JSON a XML Typy danych JSON Analiza JSON JSON Obiekty JSON Tablice JSON Serwer JSON JSON PHP JSON HTML JSON JSONP

JS kontra jQuery

Selektory jQuery jQuery HTML jQuery CSS jQuery DOM

Grafika JS

Grafika JS JS płótno JS Działka JS Chart.js Wykres JS Google JS D3.js

Przykłady JS

Przykłady JS JS HTML DOM Wejście JS HTML Obiekty HTML JS Wydarzenia JS HTML Przeglądarka JS Edytor JS Ćwiczenia JS JS Quiz Certyfikat JS

Referencje JS

Obiekty JavaScript Obiekty HTML DOM


Tablice JavaScript

Tablica to specjalna zmienna, która może zawierać więcej niż jedną wartość:

const cars = ["Saab", "Volvo", "BMW"];

Dlaczego warto korzystać z tablicy?

Jeśli masz listę elementów (na przykład listę nazw samochodów), przechowywanie samochodów w pojedynczych zmiennych może wyglądać tak:

let car1 = "Saab";
let car2 = "Volvo";
let car3 = "BMW";

Co jednak, jeśli chcesz przejechać się przez samochody i znaleźć konkretny? A co by było, gdybyś nie miał 3 samochodów, ale 300?

Rozwiązaniem jest tablica!

Tablica może zawierać wiele wartości pod jedną nazwą, a dostęp do wartości można uzyskać, odwołując się do numeru indeksu.


Tworzenie tablicy

Użycie literału tablicowego to najprostszy sposób na utworzenie tablicy JavaScript.

Składnia:

const array_name = [item1, item2, ...];      

Powszechną praktyką jest deklarowanie tablic za pomocą słowa kluczowego const .

Dowiedz się więcej o const z tablicami w rozdziale: JS Array Const .

Przykład

const cars = ["Saab", "Volvo", "BMW"];

Spacje i łamanie wierszy nie są ważne. Deklaracja może obejmować wiele wierszy:

Przykład

const cars = [
  "Saab",
  "Volvo",
  "BMW"
];

Możesz również utworzyć tablicę, a następnie podać elementy:

Przykład

const cars = [];
cars[0]= "Saab";
cars[1]= "Volvo";
cars[2]= "BMW";

Korzystanie ze słowa kluczowego JavaScript nowy

Poniższy przykład tworzy również tablicę i przypisuje jej wartości:

Przykład

const cars = new Array("Saab", "Volvo", "BMW");

Dwa powyższe przykłady robią dokładnie to samo.

Nie ma potrzeby używania new Array().

Dla uproszczenia, czytelności i szybkości wykonywania użyj metody literału tablicowego.



Dostęp do elementów tablicy

Dostęp do elementu tablicy można uzyskać, odwołując się do numeru indeksu :

const cars = ["Saab", "Volvo", "BMW"];
let car = cars[0];

Uwaga: indeksy tablicy zaczynają się od 0.

[0] to pierwszy element. [1] to drugi element.


Zmiana elementu tablicy

To stwierdzenie zmienia wartość pierwszego elementu w cars:

cars[0] = "Opel";

Przykład

const cars = ["Saab", "Volvo", "BMW"];
cars[0] = "Opel";

Uzyskaj dostęp do pełnej tablicy

W języku JavaScript dostęp do pełnej tablicy można uzyskać, odwołując się do nazwy tablicy:

Przykład

const cars = ["Saab", "Volvo", "BMW"];
document.getElementById("demo").innerHTML = cars;

Tablice są obiektami

Tablice to specjalny typ obiektów. Operator typeofw JavaScript zwraca „object” dla tablic.

Ale tablice JavaScript najlepiej opisać jako tablice.

Tablice używają liczb, aby uzyskać dostęp do swoich „elementów”. W tym przykładzie person[0] zwraca John:

Szyk:

const person = ["John", "Doe", 46];

Obiekty używają nazw , aby uzyskać dostęp do swoich „członków”. W tym przykładzie person.firstName zwraca John:

Obiekt:

const person = {firstName:"John", lastName:"Doe", age:46};

Elementy tablicy mogą być obiektami

Zmienne JavaScript mogą być obiektami. Tablice to specjalne rodzaje obiektów.

Z tego powodu w tej samej tablicy można mieć zmienne różnych typów.

Możesz mieć obiekty w tablicy. Możesz mieć funkcje w tablicy. Możesz mieć tablice w tablicy:

myArray[0] = Date.now;
myArray[1] = myFunction;
myArray[2] = myCars;

Właściwości i metody tablicy

Prawdziwą siłą tablic JavaScript są wbudowane właściwości i metody tablic:

cars.length   // Returns the number of elements
cars.sort()   // Sorts the array

Metody tablicowe omówiono w następnych rozdziałach.


Długość Nieruchomość

Właściwość lengthtablicy zwraca długość tablicy (liczbę elementów tablicy).

Przykład

const fruits = ["Banana", "Orange", "Apple", "Mango"];
let length = fruits.length;

Właściwość lengthjest zawsze o jeden więcej niż najwyższy indeks tablicy.


Dostęp do pierwszego elementu tablicy

Przykład

const fruits = ["Banana", "Orange", "Apple", "Mango"];
let fruit = fruits[0];

Dostęp do ostatniego elementu tablicy

Przykład

const fruits = ["Banana", "Orange", "Apple", "Mango"];
let fruit = fruits[fruits.length - 1];

Zapętlanie elementów tablicy

Jednym ze sposobów na przejście przez tablicę jest użycie forpętli:

Przykład

const fruits = ["Banana", "Orange", "Apple", "Mango"];
let fLen = fruits.length;

let text = "<ul>";
for (let i = 0; i < fLen; i++) {
  text += "<li>" + fruits[i] + "</li>";
}
text += "</ul>";

Możesz również skorzystać z Array.forEach()funkcji:

Przykład

const fruits = ["Banana", "Orange", "Apple", "Mango"];

let text = "<ul>";
fruits.forEach(myFunction);
text += "</ul>";

function myFunction(value) {
  text += "<li>" + value + "</li>";
}

Dodawanie elementów tablicy

Najłatwiejszym sposobem dodania nowego elementu do tablicy jest użycie push()metody:

Przykład

const fruits = ["Banana", "Orange", "Apple"];
fruits.push("Lemon");  // Adds a new element (Lemon) to fruits

Nowy element można również dodać do tablicy za pomocą lengthwłaściwości:

Przykład

const fruits = ["Banana", "Orange", "Apple"];
fruits[fruits.length] = "Lemon";  // Adds "Lemon" to fruits

OSTRZEŻENIE !

Dodanie elementów o wysokich indeksach może stworzyć niezdefiniowane „dziury” w tablicy:

Przykład

const fruits = ["Banana", "Orange", "Apple"];
fruits[6] = "Lemon";  // Creates undefined "holes" in fruits

Tablice asocjacyjne

Wiele języków programowania obsługuje tablice z nazwanymi indeksami.

Tablice z nazwanymi indeksami nazywane są tablicami asocjacyjnymi (lub skrótami).

JavaScript nie obsługuje tablic z nazwanymi indeksami.

W JavaScript tablice zawsze używają indeksów numerowanych .  

Przykład

const person = [];
person[0] = "John";
person[1] = "Doe";
person[2] = 46;
person.length;    // Will return 3
person[0];        // Will return "John"

OSTRZEŻENIE !!
Jeśli używasz nazwanych indeksów, JavaScript przedefiniuje tablicę do obiektu.

Następnie niektóre metody i właściwości tablicowe będą generować nieprawidłowe wyniki .

 Przykład:

const person = [];
person["firstName"] = "John";
person["lastName"] = "Doe";
person["age"] = 46;
person.length;     // Will return 0
person[0];         // Will return undefined

Różnica między tablicami a obiektami

W JavaScript tablice używają indeksów numerowanych .  

W JavaScript obiekty używają nazwanych indeksów .

Tablice to specjalny rodzaj obiektów z ponumerowanymi indeksami.


Kiedy używać tablic. Kiedy używać obiektów.

  • JavaScript nie obsługuje tablic asocjacyjnych.
  • Należy używać obiektów , gdy chcesz, aby nazwy elementów były ciągami (tekst) .
  • Powinieneś używać tablic , jeśli chcesz, aby nazwy elementów były liczbami .

JavaScript nowa tablica()

JavaScript ma wbudowany konstruktor tablicy new Array().

Ale możesz bezpiecznie używać []zamiast tego.

Te dwie różne instrukcje tworzą nową pustą tablicę o nazwie points:

const points = new Array();
const points = [];

Te dwie różne instrukcje tworzą nową tablicę zawierającą 6 liczb:

const points = new Array(40, 100, 1, 5, 25, 10);
const points = [40, 100, 1, 5, 25, 10];

Słowo newkluczowe może dawać nieoczekiwane wyniki:

// Create an array with three elements:
const points = new Array(40, 100, 1);
// Create an array with two elements:
const points = new Array(40, 100);
// Create an array with one element ???
const points = new Array(40);  

Powszechny błąd

const points = [40];

to nie to samo co:

const points = new Array(40);
// Create an array with one element:
const points = [40];
// Create an array with 40 undefined elements:
const points = new Array(40);  

Jak rozpoznać tablicę

Częstym pytaniem jest: Skąd mam wiedzieć, czy zmienna jest tablicą?

The problem is that the JavaScript operator typeof returns "object":

const fruits = ["Banana", "Orange", "Apple"];
let type = typeof fruits;

The typeof operator returns object because a JavaScript array is an object.

Solution 1:

To solve this problem ECMAScript 5 (JavaScript 2009) defined a new method Array.isArray():

Array.isArray(fruits);

Solution 2:

The instanceof operator returns true if an object is created by a given constructor:

const fruits = ["Banana", "Orange", "Apple"];

fruits instanceof Array;

Complete Array Reference

For a complete Array reference, go to our:

Complete JavaScript Array Reference.

The reference contains descriptions and examples of all Array properties and methods.

Test Yourself With Exercises

Exercise:

Get the value "Volvo" from the cars array.

const cars = ["Saab", "Volvo", "BMW"];
let x = ;