Statično ti­pi­zi­ra­nje omogoča kom­pi­la­tor­ju Type­Script spre­mlja­nje po­dat­kov­ne­ga tipa elementov niza. Ta funkcija pomaga nizom Type­Script zmanjšati ver­je­tnost napak v kodi, kar vam omogoča razvoj varnejših in za­ne­slji­vej­ših aplikacij.

Kaj so Type­Scrip­to­vi nizi?

V Type­Scrip­tu so nizi urejeni seznami vrednosti. Tako kot v Ja­va­Scrip­tu lahko nize v Type­Scrip­tu uporabite za shra­nje­va­nje zbirke elementov. Elementi lahko pripadajo različnim po­dat­kov­nim tipom, vključno s šte­vil­ka­mi, nizi, objekti ali drugimi nizi. Type­Script ima prednost, da podpira statično ti­pi­zi­ra­nje, kar pomeni, da lahko določite po­dat­kov­ni tip elementov v nizu. To pa izboljša od­kri­va­nje napak med razvojem.

Ključna zna­čil­nost nizov je njihova dinamična velikost, ki omogoča dodajanje ali od­stra­nje­va­nje elementov, ne da bi bilo treba vnaprej določiti velikost. V Type­Scrip­tu so nizi privzeto spre­men­lji­vi. Vendar lahko ustvarite ne­spre­men­lji­ve nize z uporabo metod nizov, kot sta map in filter. Ne­spre­men­lji­ve nize lahko uporabite za ustvar­ja­nje novih nizov na podlagi ob­sto­je­čih nizov. Nizi za­go­ta­vlja­jo dosledno strukturo za or­ga­ni­zi­ra­nje podatkov in olaj­šu­je­jo fil­tri­ra­nje, raz­vr­šča­nje in po­na­vlja­nje elementov.

Poleg tega lahko Type­Scrip­to­vi nizi služijo kot osnova za im­ple­men­ta­ci­jo po­dat­kov­nih struktur, kot so skladišča (LIFO – Last-In-First-Out) in čakalne vrste (FIFO – First-In-First-Out). Primerni so tudi za pred­sta­vlja­nje seznamov, tabel in zbirk v različnih apli­ka­ci­jah. Ker je elemente istega tipa mogoče enostavno upra­vlja­ti, so nizi še posebej uporabni pri obdelavi podatkov iz zunanjih virov, bodisi API-jev ali po­dat­kov­nih baz.

Kakšna je sintaksa za Type­Scrip­to­ve nize?

V Type­Scrip­tu se nizi de­kla­ri­ra­jo s ključnimi besedami let, const ali var, ki jim sledi ime spre­men­ljiv­ke in spe­ci­fi­ka­ci­ja po­dat­kov­ne­ga tipa. Ko de­kla­ri­ra­te po­dat­kov­ni tip, določite, kateri po­dat­kov­ni tip naj imajo elementi v nizu. To se naredi z dvopičjem. Elementi so v kva­dra­tnih oklepajih in ločeni z vejicami v blokih ini­ci­a­li­za­tor­ja niza.

Splošna sintaksa za de­kla­ra­ci­jo niza Type­Script je naslednja:

const variableName: datatype[] = [element1, element2, ...];
type­script
  • va­ri­a­ble­Na­me je ime, ki ga izberete za niz.
  • datatype določa po­dat­kov­ni tip elementov v nizu.
  • [element1, element2, …] so dejanski elementi ali vrednosti, ki se shranijo v niz. Ti elementi morajo imeti po­dat­kov­ni tip, ki je bil določen za niz.

Tukaj je nekaj primerov, ki pomagajo po­na­zo­ri­ti sintakso:

// Data type: Number
const numbers: number[] = [1, 2, 3, 4, 5];
// Data type: String
const numbers: string[] = ["Alice", "Bob", "Charlie"];
// Data type: Boolean
const booleans: boolean[] = [true, false];
type­script

Katere metode za delo z nizi obstajajo v Type­Scrip­tu?

Metode za delo z nizi v Type­Scrip­tu so izredno uporabne in zmogljive, saj omogočajo učin­ko­vi­to obdelavo, pre­o­bli­ko­va­nje in or­ga­ni­zi­ra­nje podatkov v nize. V naslednji tabeli je prikazan pregled pogostih metod za delo z nizi v Type­Scrip­tu in njihova uporaba.

Metode Opis
push() Dodaja enega ali več elementov na konec niza in vrne novo dolžino niza.
pop() Odstrani zadnji element iz niza in ga vrne.
unshift() Dodaja enega ali več elementov na začetek niza in vrne novo dolžino niza.
shift() Odstrani prvi element iz niza in ga vrne.
concat() Združi trenutni niz z enim ali več drugimi nizi in vrne nov niz. Izvirni niz ostane ne­spre­me­njen.
join(separator) Pretvori elemente niza v niz in ga vrne. Ločilo za elemente lahko določite sami.
slice(start, end) Ustvari ravno kopijo niza, ki je se­sta­vljen iz elementov med do­lo­če­ni­ma indeksoma „začetek“ (vključno) in „konec“ (izključno). Izvirni niz ostane ne­spre­me­njen.
splice(start, deleteCount, element1, element2, ...) Vstavi nove elemente na določeno mesto in/ali odstrani elemente iz niza.
forEach(callback) Izvede navedeno funkcijo za vsak element v nizu.
map(callback) Ustvari novo matriko z uporabo funkcije za vsak element v matriko.
filter(callback) Ustvari nov niz z vsemi elementi, ki so uspešno prestali test, izveden z določeno funkcijo.

Primeri nizov v Type­Scrip­tu

Type­Scrip­to­vi nizi so ne­po­gre­šlji­vo orodje za or­ga­ni­zi­ra­nje in obdelavo podatkov v apli­ka­ci­jah. V na­da­lje­va­nju si bomo ogledali nekaj ključnih operacij.

Dostop do elementov niza

Dostop do elementov niza v Type­Scrip­tu je osnovna operacija, ki omogoča pri­do­bi­va­nje določenih elementov znotraj niza. Do elementov niza lahko dostopate z njihovim indeksom, ki pred­sta­vlja njihov položaj v nizu. V Type­Scrip­tu so indeksi niza osnovani na ničli. To pomeni, da ima prvi element indeks 0, drugi element pa indeks 1.

let myArray: number[] = [10, 20, 30, 40, 50];
// Accessing elements using index
let firstElement: number = myArray[0]; // Output: 10
let secondElement: number = myArray[1]; // Output: 20
let thirdElement: number = myArray[2]; // Output: 30
// Assigning a new value to an array element
myArray[3] = 99; // 4th element in myArray = 99
type­script

De­struk­tu­ri­ra­nje nizov

Z raz­gra­dnjo niza lahko hitro in enostavno izvlečete vrednosti iz niza in jih dodelite spre­men­ljiv­ki.

let numberArray: number[] = [1, 2, 3];
// Array destructuring
let [firstNumber, secondNumber, thirdNumber] = numberArray;
// Access values
console.log(firstNumber); // Outputs 1
console.log(secondNumber); // Outputs 2
console.log(thirdNumber); // Outputs 3
type­script

Po­na­vlja­nje elementov v nizih Type­Script

Tukaj je primer, kako ponoviti niz v Type­Scrip­tu z uporabo zanke for:

let numbers: number[] = [1, 2, 3, 4, 5];
for (let i = 0; i < numbers.length; i++) {
    console.log(numbers[i]);
}
type­script

V tem primeru imamo niz numbers, ki vsebuje številke. Za po­na­vlja­nje skozi niz uporabimo zanko for. Zanka se začne pri i = 0, v vsakem prehodu zanke pa povečamo vrednost i. S numbers[i] lahko dostopamo do ustre­zne­ga elementa niza in ga izpišemo.

To je izhod:

1
2
3
4
5
type­script

b063a9a0bb050c0cbf3a12ca06492bdb

367d32e6e3dca06fe225f3fb0920ab8d

7023faba66ebf53c94fb07a51ede46c2

787c9893abf7d98e9aa25d17a1eebedd

d0d26c3ffdc8a6e7d535e0ef5eb410d2

Go to Main Menu