Przejdź do treści

Temat 08 · 2 × 45 minINF.03

Tablice

Do tej pory każda wartość miała własną zmienną. Gdy danych jest więcej – dziewięć gotowych odpowiedzi chatu, siedem zdjęć galerii, ceny trzech kursów – potrzebujesz jednej „listy” z numerowanymi miejscami. To tablica (array). W tej lekcji nauczysz się ją tworzyć, czytać i zmieniać, przechodzić po niej pętlą oraz losować z niej element – dokładnie tak, jak wymagał arkusz z czerwca 2024.

Tworzenie tablicy i dostęp do elementów

Tablicę najprościej zapisać literałem: wartości w nawiasach kwadratowych, rozdzielone przecinkami. Każdy element ma indeks – numer miejsca liczony od zera.

tablica.js
const kursy = ["HTML", "CSS", "JavaScript", "PHP"];

console.log(kursy[0]);          // HTML – pierwszy element ma indeks 0
console.log(kursy[3]);          // PHP – czwarty element ma indeks 3
console.log(kursy.length);      // 4 – liczba elementów
console.log(kursy[kursy.length - 1]); // PHP – ostatni element: length minus 1
console.log(kursy[4]);          // undefined – takiego indeksu nie ma, ale błędu nie będzie
console.log(kursy);             // cała tablica
Konsola
Kliknij „Uruchom”, aby zobaczyć wynik

Tablica może zawierać dowolne typy, także mieszane: [1, "dwa", true, null]. Zwykle jednak trzymasz w niej wartości jednego rodzaju (same ceny, same nazwy plików).

Sprawdź się

Co wypisze ten kod?

var zdjecia = ["1.jpg", "2.jpg", "3.jpg", "4.jpg", "5.jpg", "6.jpg", "7.jpg"];
document.write(zdjecia.length + " " + zdjecia[6] + " " + zdjecia[7]);

Zmiana elementów

Element zmienisz, przypisując wartość pod indeksem. Działa to także dla const – stała blokuje tylko podmianę całej tablicy na inną, nie zmiany w jej środku.

zmiana.js
const ceny = [12, 14, 18];
ceny[1] = 15;              // zmiana istniejącego elementu
ceny[3] = 20;              // dopisanie pod nowym indeksem – tablica rośnie
console.log(ceny, ceny.length);   // [12, 15, 18, 20] 4
Konsola
Kliknij „Uruchom”, aby zobaczyć wynik
const-tablica.js
const ceny = [12, 14, 18];
ceny.push(20);             // OK – zmiana zawartości
console.log(ceny);
ceny = [1, 2, 3];          // TypeError – nie można podmienić stałej na inną tablicę
Konsola
Kliknij „Uruchom”, aby zobaczyć wynik

new Array() – zapis, który musisz rozpoznać

Starszy sposób to konstruktor new Array(...). Spotkasz go w testach, ale w swoim kodzie używaj [].

new-array.js
const a = new Array(1, 2, 3);   // [1, 2, 3] – elementy jako argumenty
const b = new Array(3);         // UWAGA: jedna liczba = pusta tablica o długości 3, nie [3]
const c = [3];                  // literał – tablica z jednym elementem 3
console.log(a, b.length, c);
Konsola
Kliknij „Uruchom”, aby zobaczyć wynik

Dodawanie i usuwanie elementów

MetodaCo robiZwracaZmienia tablicę?
push(x)dodaje x na koniecnową długośćtak
pop()usuwa ostatniusunięty elementtak
unshift(x)dodaje x na począteknową długośćtak
shift()usuwa pierwszyusunięty elementtak
splice(i, ile, ...nowe)od indeksu i usuwa ile elementów i wstawia nowetablicę usuniętychtak
dodaj-usun.js
const zadania = ["kupić mleko", "oddać książkę"];

zadania.push("nauczyć się tablic");       // na koniec
zadania.unshift("wstać");                 // na początek
console.log(zadania);

const ostatnie = zadania.pop();           // usuwa i oddaje ostatni
const pierwsze = zadania.shift();         // usuwa i oddaje pierwszy
console.log(ostatnie, "|", pierwsze);
console.log(zadania);                     // zostały dwa środkowe

zadania.splice(1, 1, "zadzwonić do babci", "wyrzucić śmieci"); // od indeksu 1 usuń 1, wstaw 2
console.log(zadania);
Konsola
Kliknij „Uruchom”, aby zobaczyć wynik
Sprawdź się

Co wypisze ten kod?

const koszyk = ["chleb", "masło"];
const n = koszyk.push("ser");
console.log(n, koszyk.length, koszyk[2]);

Szukanie: indexOf i includes

szukanie.js
const miasta = ["Warszawa", "Katowice", "Gdańsk"];

console.log(miasta.indexOf("Katowice"));   // 1 – indeks pierwszego wystąpienia
console.log(miasta.indexOf("Kraków"));     // -1 – nie ma takiego elementu
console.log(miasta.includes("Gdańsk"));    // true – czy zawiera
console.log(miasta.includes("gdańsk"));    // false – wielkość liter ma znaczenie

// typowy wzorzec: sprawdź, zanim użyjesz
if (miasta.indexOf("Kraków") === -1) {
  console.log("Kraków nie jest na liście");
}
Konsola
Kliknij „Uruchom”, aby zobaczyć wynik

indexOf porównuje ściśle (===): w tablicy liczb [1, 2, 3] wywołanie indexOf("2") zwróci -1.

Tablica ⇄ napis: join i split

join(separator) skleja elementy w jeden napis; split(separator) na napisie robi odwrotność – rozcina go na tablicę. To para metod z pytań egzaminacyjnych („która metoda zamienia napis na tablicę?” – split).

join-split.js
const oceny = [4, 5, 3, 5];
console.log(oceny.join(", "));          // 4, 5, 3, 5 – napis
console.log(oceny.join(""));            // 4535
console.log(String(oceny));             // 4,5,3,5 – domyślny separator to przecinek

const wiersz = "Jan;Kowalski;3B";
const dane = wiersz.split(";");          // ["Jan", "Kowalski", "3B"]
console.log(dane, dane[1]);

const slowa = "to jest zdanie".split(" ");
console.log(slowa.length, "słów");       // 3 słów
console.log("abc".split(""));            // ["a", "b", "c"] – na pojedyncze znaki
Konsola
Kliknij „Uruchom”, aby zobaczyć wynik

Fragment tablicy: slice (nie myl ze splice)

slice(od, do) kopiuje elementy od indeksu od do do (bez do) i zwraca nową tablicę. Oryginał się nie zmienia. splice – z literą „p” – wycina z oryginału. Dwie litery różnicy, zupełnie inne działanie.

slice.js
const litery = ["a", "b", "c", "d", "e"];

console.log(litery.slice(1, 3));   // ["b", "c"] – indeksy 1 i 2, bez 3
console.log(litery.slice(2));      // ["c", "d", "e"] – od indeksu 2 do końca
console.log(litery.slice(-2));     // ["d", "e"] – dwa ostatnie
console.log(litery);               // oryginał nietknięty

const wyciete = litery.splice(1, 2);  // usuwa 2 elementy od indeksu 1
console.log(wyciete, litery);         // ["b", "c"] ["a", "d", "e"] – oryginał zmieniony
Konsola
Kliknij „Uruchom”, aby zobaczyć wynik

Pętla po tablicy

Dwa sposoby z lekcji Pętle: for z indeksem, gdy numer jest potrzebny, i for…of, gdy liczy się tylko wartość.

petla-po-tablicy.js
const ceny = [5000, 3000, 1500];
const zaznaczone = [true, false, true];   // który kurs klient wybrał
let suma = 0;

for (let i = 0; i < ceny.length; i++) {   // indeks łączy obie tablice
  if (zaznaczone[i]) {
    suma += ceny[i];
  }
}
console.log("Koszt zaznaczonych kursów:", suma); // 6500

for (const cena of ceny) {                // bez indeksu – prosto po wartościach
  console.log("Kurs za", cena, "zł");
}
Konsola
Kliknij „Uruchom”, aby zobaczyć wynik

Sortowanie: sort porównuje jak napisy

sort() bez argumentu zamienia elementy na napisy i układa je „słownikowo”. Dla słów to w porządku, dla liczb – katastrofa: "10" stoi przed "9", bo "1" jest przed "9".

Sprawdź się

Co wypisze ten kod?

const liczby = [10, 9, 1, 25];
liczby.sort();
console.log(liczby);
sort.js
const liczby = [10, 9, 1, 25];

console.log([...liczby].sort());                 // [1, 10, 25, 9] – jak napisy!
console.log([...liczby].sort((a, b) => a - b));  // [1, 9, 10, 25] – rosnąco
console.log([...liczby].sort((a, b) => b - a));  // [25, 10, 9, 1] – malejąco

const slowa = ["gruszka", "Jabłko", "banan"];
console.log([...slowa].sort());                  // ["Jabłko", "banan", "gruszka"] – wielkie litery przed małymi
console.log([...slowa].sort((a, b) => a.localeCompare(b, "pl"))); // alfabetycznie po polsku
Konsola
Kliknij „Uruchom”, aby zobaczyć wynik

Zapis [...liczby] tworzy kopię, bo sort zmienia oryginalną tablicę (tak jak reverse). Funkcja porównująca (a, b) => a - b zwraca liczbę ujemną, gdy a ma być przed b – stąd rosnąco; b - a odwraca porządek.

Losowy element

Jeden z arkuszy z czerwca 2024 kazał losować jedną z dziewięciu gotowych odpowiedzi chatu. Wzorzec jest zawsze ten sam:

losowanie.js
const odpowiedzi = ["Cześć!", "Jak mogę pomóc?", "Super, że piszesz.", "Daj mi chwilę…"];

const indeks = Math.floor(Math.random() * odpowiedzi.length); // liczba całkowita 0…length-1
console.log("Indeks:", indeks, "→", odpowiedzi[indeks]);
Konsola
Kliknij „Uruchom”, aby zobaczyć wynik

Dlaczego to działa: Math.random() daje liczbę z przedziału [0, 1), pomnożona przez length (4) daje [0, 4), a Math.floor obcina do 0, 1, 2 lub 3 – dokładnie wszystkie indeksy, nigdy 4. Gdybyś użył Math.round, czwórka wypadałaby czasem i dała undefined.

Przypisanie nie kopiuje tablicy

Zmienna z tablicą nie „zawiera” tablicy – wskazuje na nią (metafora karteczki z lekcji o zmiennych). const b = a przykleja drugą karteczkę do tej samej tablicy.

Sprawdź się

Co wypisze ten kod?

const a = [1, 2, 3];
const b = a;
b.push(4);
console.log(a.length, b.length);
kopia.js
const oryginal = [1, 2, 3];
const alias = oryginal;            // ta sama tablica, druga nazwa
const kopia = [...oryginal];       // nowa tablica z tymi samymi elementami (można też oryginal.slice())

alias.push(4);
kopia.push(99);
console.log(oryginal);             // [1, 2, 3, 4] – zmiana przez alias widoczna
console.log(kopia);                // [1, 2, 3, 99] – kopia żyje osobno
console.log(oryginal === alias, oryginal === kopia); // true false – === porównuje „tożsamość”, nie zawartość
Konsola
Kliknij „Uruchom”, aby zobaczyć wynik

Z tego samego powodu [1, 2] === [1, 2] daje false – to dwie różne tablice. Zawartość porównasz np. przez join() albo pętlą. Więcej w lekcji Referencje.

typeof tablicy i inne drobiazgi

drobiazgi.js
const tab = [3, 1, 2];
console.log(typeof tab);             // object – tablica to rodzaj obiektu
console.log(Array.isArray(tab));     // true – tak sprawdzasz, czy to tablica
console.log(tab.at(-1));             // 2 – ostatni element (krótszy zapis niż tab[tab.length - 1])
console.log([].length, [[1, 2], [3]].length); // 0 2 – tablica tablic liczy wiersze
console.log(tab.reverse());          // [2, 1, 3] – odwraca W MIEJSCU (zmienia tab)
Konsola
Kliknij „Uruchom”, aby zobaczyć wynik

Zapowiedź: losowa odpowiedź na stronie

Tak będzie wyglądał „Generuj losową odpowiedź” z arkusza czerwiec 2024 – pełną wersję z doklejaniem bloków zrobisz w lekcji Tworzenie elementów.

Chat – losowa odpowiedź
const odpowiedzi = [
  'Dzień dobry, w czym mogę pomóc?',
  'Rozumiem, sprawdzam to.',
  'Proszę o chwilę cierpliwości.',
  'Czy mogę jeszcze w czymś pomóc?',
];
const przycisk = document.getElementById('losuj');
const akapit = document.getElementById('odpowiedz');

przycisk.addEventListener('click', () => {
  const indeks = Math.floor(Math.random() * odpowiedzi.length);
  akapit.textContent = odpowiedzi[indeks];
});
Podgląd

Na egzaminie

Ściąga

SkładniaCo robiPrzykład
const t = [1, 2, 3]literał tablicy (zalecany)new Array(1, 2, 3) – to samo; new Array(3) – 3 puste miejsca
t[i], t[i] = xodczyt / zapis elementu o indeksie i (od 0)t[0] → 1
t.lengthliczba elementów; ostatni indeks to length - 1t[t.length - 1], t.at(-1)
push(x) / pop()dodaj na koniec / usuń z końcapush zwraca długość, pop – element
unshift(x) / shift()dodaj na początek / usuń z początku
indexOf(x)indeks lub -1t.indexOf(5) === -1 → brak
includes(x)true/falset.includes(2)
join(sep)tablica → napis[4, 5].join(", ") → "4, 5"
napis.split(sep)napis → tablica"a;b".split(";") → ["a", "b"]
slice(od, do)kopia fragmentu, bez do, nie zmieniat.slice(1, 3)
splice(i, ile, ...nowe)usuwa/wstawia w miejscu, zwraca usuniętet.splice(1, 1)
sort((a, b) => a - b)sortuje liczby rosnąco w miejscu; bez komparatora – jak napisy[10, 9, 1].sort() → [1, 10, 9]
reverse()odwraca w miejscu"abc".split("").reverse().join("")
t[Math.floor(Math.random() * t.length)]losowy element
[...t], t.slice()kopia tablicy (const b = t to nie kopia)
Array.isArray(t)czy to tablica (typeof daje "object")

Zadania

Zadanie 1
łatwe

Lista zakupów

Utwórz tablicę zakupy z trzema produktami. Następnie: dodaj jeden produkt na koniec i jeden na początek, wypisz liczbę elementów i ostatni element, sprawdź (includes), czy na liście jest „mleko”, usuń pierwszy element i wypisz całą listę jako jeden napis rozdzielony przecinkiem i spacją.

Pokaż rozwiązanie
zakupy.js
const zakupy = ["chleb", "masło", "ser"];

zakupy.push("mleko");                 // na koniec
zakupy.unshift("woda");               // na początek
console.log("Elementów:", zakupy.length);          // 5
console.log("Ostatni:", zakupy[zakupy.length - 1]); // mleko
console.log("Jest mleko?", zakupy.includes("mleko")); // true

zakupy.shift();                       // usuwa "woda"
console.log(zakupy.join(", "));       // chleb, masło, ser, mleko
Konsola
Kliknij „Uruchom”, aby zobaczyć wynik
Zadanie 2
średnie

Statystyki bez wbudowanych skrótów

Dla tablicy const temperatury = [12, 18, -3, 25, 7, 18] napisz funkcje: suma(tab), najwieksza(tab), ileRazy(tab, wartosc) (ile razy wartość występuje) i tylkoDodatnie(tab) (zwraca nową tablicę z liczbami większymi od zera, oryginał bez zmian). Użyj pętli, nie Math.max ani metod wyższego rzędu. Sprawdź wyniki: 77, 25, 2 (dla 18), [12, 18, 25, 7, 18], a potem wypisz oryginał, by potwierdzić, że się nie zmienił.

Pokaż rozwiązanie
statystyki-tablic.js
const temperatury = [12, 18, -3, 25, 7, 18];

function suma(tab) {
  let wynik = 0;
  for (const liczba of tab) {
    wynik += liczba;
  }
  return wynik;
}

function najwieksza(tab) {
  let max = tab[0];                 // start od pierwszego elementu, nie od 0 (tablica może mieć same ujemne)
  for (let i = 1; i < tab.length; i++) {
    if (tab[i] > max) max = tab[i];
  }
  return max;
}

function ileRazy(tab, wartosc) {
  let licznik = 0;
  for (const element of tab) {
    if (element === wartosc) licznik++;
  }
  return licznik;
}

function tylkoDodatnie(tab) {
  const wynik = [];                 // nowa tablica – oryginał zostaje
  for (const liczba of tab) {
    if (liczba > 0) wynik.push(liczba);
  }
  return wynik;
}

console.log(suma(temperatury));            // 77
console.log(najwieksza(temperatury));      // 25
console.log(ileRazy(temperatury, 18));     // 2
console.log(tylkoDodatnie(temperatury));   // [12, 18, 25, 7, 18]
console.log(temperatury);                  // [12, 18, -3, 25, 7, 18] – bez zmian
Konsola
Kliknij „Uruchom”, aby zobaczyć wynik
Zadanie 3
średnie

Galeria z zawijaniem

W jednym z arkuszy z czerwca 2024 przyciski < i > zmieniają zdjęcie 1.jpg…7.jpg, a po ostatnim wraca pierwsze (i odwrotnie). Zapisz nazwy plików w tablicy zdjecia, a numer aktualnego zdjęcia w zmiennej indeks zadeklarowanej poza funkcjami. Napisz funkcje nastepne() i poprzednie(), które zmieniają indeks z zawijaniem i wypisują Pokazuję: 3.jpg. Zasymuluj: 8 kliknięć > (powinno skończyć na 2.jpg), potem 3 kliknięcia < (koniec na 6.jpg).

Pokaż rozwiązanie
galeria.js
const zdjecia = ["1.jpg", "2.jpg", "3.jpg", "4.jpg", "5.jpg", "6.jpg", "7.jpg"];
let indeks = 0;                            // stan – poza funkcjami, pamięta między kliknięciami

function pokaz() {
  console.log("Pokazuję:", zdjecia[indeks]);
}

function nastepne() {
  indeks++;
  if (indeks >= zdjecia.length) {          // za ostatnim → pierwsze
    indeks = 0;
  }
  pokaz();
}

function poprzednie() {
  indeks--;
  if (indeks < 0) {                        // przed pierwszym → ostatnie
    indeks = zdjecia.length - 1;
  }
  pokaz();
}

for (let klik = 1; klik <= 8; klik++) nastepne();     // 2,3,4,5,6,7,1,2
for (let klik = 1; klik <= 3; klik++) poprzednie();   // 1,7,6
Konsola
Kliknij „Uruchom”, aby zobaczyć wynik

Krótszy zapis zawijania w przód: indeks = (indeks + 1) % zdjecia.length – reszta z dzielenia sama „przeskakuje” z 6 na 0. W tył: indeks = (indeks - 1 + zdjecia.length) % zdjecia.length.

Zadanie 4
trudnejak na INF.03

Chat: losowa odpowiedź z tablicy

Zadanie według wzoru z sesji czerwiec 2024. Strona chatu ma przycisk „Generuj losową odpowiedź”. Skrypt ma z predefiniowanej tablicy dziewięciu napisów (treści dowolne, np. gotowe odpowiedzi konsultanta) wylosować jeden – indeks od 0 do 8 – i dokleić go jako nową wiadomość. Doklejanie elementów do strony zrobisz w module DOM; dziś przygotuj logikę:

  1. tablica odpowiedzi z 9 napisami,
  2. funkcja losowaOdpowiedz() zwracająca losowy element,
  3. funkcja testLosowania(ile) – wywołuje losowaOdpowiedz() ile razy, zlicza w drugiej tablicy licznik (9 zer), ile razy padł każdy indeks, i zwraca tę tablicę. Dla 9000 prób każda pozycja powinna mieć około 1000; sprawdź też, że suma liczników to dokładnie ile i że nigdy nie wypadł indeks 9.

Kryteria w stylu „Zasad oceniania” (0/1):

  • 5.1 odpowiedzi są przechowywane w tablicy (nie w dziewięciu zmiennych),
  • 5.2 indeks jest losowany z użyciem Math.random i zaokrąglany w dół,
  • 5.3 losowany indeks zawsze mieści się w zakresie 0–8 (nigdy undefined),
  • 5.4 funkcja zwraca tekst odpowiedzi,
  • 5.5 znaczące nazwy zmiennych i funkcji.
Pokaż rozwiązanie
chat.js
const odpowiedzi = [
  "Dzień dobry, w czym mogę pomóc?",
  "Już sprawdzam Twoje zamówienie.",
  "Proszę o numer zamówienia.",
  "Przesyłka jest w drodze.",
  "Przykro mi, to nie zależy od nas.",
  "Czy mogę jeszcze w czymś pomóc?",
  "Dziękuję za kontakt!",
  "Przekazuję sprawę do działu reklamacji.",
  "Do usłyszenia!",
];

function losowyIndeks() {
  return Math.floor(Math.random() * odpowiedzi.length);  // 0…8, nigdy 9
}

function losowaOdpowiedz() {
  return odpowiedzi[losowyIndeks()];
}

function testLosowania(ile) {
  const licznik = [0, 0, 0, 0, 0, 0, 0, 0, 0];   // tyle zer, ile odpowiedzi
  for (let proba = 0; proba < ile; proba++) {
    licznik[losowyIndeks()]++;
  }
  return licznik;
}

console.log(losowaOdpowiedz());                 // inna przy każdym uruchomieniu

const wyniki = testLosowania(9000);
console.log(wyniki);                            // każda pozycja ok. 1000
let razem = 0;
for (const n of wyniki) razem += n;
console.log("Suma prób:", razem, "| indeks 9 nigdy:", wyniki[9] === undefined && wyniki.length === 9);
Konsola
Kliknij „Uruchom”, aby zobaczyć wynik

Gdybyś użył Math.round(Math.random() * 8), krańcowe indeksy 0 i 8 wypadałyby dwa razy rzadziej niż pozostałe – Math.floor(... * length) daje równe szanse.

Zadanie 5
trudne

Ranking punktów

Masz dwie tablice: imiona = ["Ola", "Bartek", "Kasia", "Tomek"] i punkty = [72, 95, 72, 48] (ten sam indeks = ta sama osoba). Napisz program, który:

  1. wypisze ranking od najwyższej liczby punktów – w formacie 1. Bartek – 95 pkt – bez rozsypania par imię–punkty (podpowiedź: sortuj tablicę indeksów [0, 1, 2, 3] komparatorem, który porównuje punkty[a] i punkty[b]),
  2. wypisze imiona osób z wynikiem co najmniej 50 jako jeden napis rozdzielony przecinkami,
  3. znajdzie, kto ma najwięcej punktów, przez indexOf największej wartości.
Pokaż rozwiązanie
ranking.js
const imiona = ["Ola", "Bartek", "Kasia", "Tomek"];
const punkty = [72, 95, 72, 48];

// 1. sortujemy INDEKSY, nie punkty – pary zostają razem
const kolejnosc = [0, 1, 2, 3];
kolejnosc.sort((a, b) => punkty[b] - punkty[a]);        // malejąco po punktach
for (let miejsce = 0; miejsce < kolejnosc.length; miejsce++) {
  const i = kolejnosc[miejsce];
  console.log(`${miejsce + 1}. ${imiona[i]} – ${punkty[i]} pkt`);
}

// 2. zdali – nowa tablica + join
const zdali = [];
for (let i = 0; i < imiona.length; i++) {
  if (punkty[i] >= 50) zdali.push(imiona[i]);
}
console.log("Zdali:", zdali.join(", "));                 // Ola, Bartek, Kasia

// 3. zwycięzca przez indexOf
let maxPunkty = punkty[0];
for (const p of punkty) if (p > maxPunkty) maxPunkty = p;
const indeksZwyciezcy = punkty.indexOf(maxPunkty);
console.log("Najwięcej punktów:", imiona[indeksZwyciezcy], maxPunkty);
Konsola
Kliknij „Uruchom”, aby zobaczyć wynik

Lepszym nośnikiem takich danych są obiekty { imie: "Ola", punkty: 72 } w jednej tablicy – poznasz je w lekcji Obiekty.

Test powtórkowy

Test powtórkowy

Format jak w części pisemnej INF.03. Kod bywa w dialekcie egzaminacyjnym (var, ==, document.write).

0/0poprawnych
Sprawdź się

Który zapis tworzący tablicę jest niepoprawny?

Sprawdź się

Jaką wartość będzie miała zmienna wynik po wykonaniu kodu?

var liczby = [4, 7, 10, 3, 6];
var wynik = 0;
for (var i = 0; i < liczby.length; i++) {
if (liczby[i] % 2 == 0) {
  wynik += liczby[i];
}
}
Sprawdź się

Która metoda zamienia napis na tablicę?

Sprawdź się

Co wypisze ten kod?

var t = [5, 10, 15];
document.write(t.length + " " + t[t.length - 1]);
Sprawdź się

Fragment funkcji ma za zadanie:

for (var i = 0; i < tab.length; i++) {
tab[i] = i;
}
Sprawdź się

Co wypisze ten kod?

const liczby = [3, 20, 100];
liczby.sort();
console.log(liczby[0]);
Sprawdź się

Wyrażenie Math.floor(Math.random() * 9) zwraca:

Sprawdź się

Co wypisze ten kod?

var a = [1, 2, 3];
var b = a;
b[0] = 100;
console.log(a[0]);
Sprawdź się

Po wykonaniu var t = ['a', 'b', 'c', 'd']; var w = t.slice(1, 3); zmienna w zawiera:

Sprawdź się

Które wywołanie usunie ostatni element tablicy t i zwróci go?