Masīvi ļauj uzglabāt vairākas vērtības vienā mainīgajā un piedāvā plašu metožu klāstu datu apstrādei.

Masīva izveide

const augļi = ['ābols', 'bumbieris', 'ķirsis'];
const skaitli = [1, 2, 3, 4, 5];
const jaukts = ['teksts', 42, true, null];

console.log(augļi[0]); // 'ābols'
console.log(augļi.length); // 3

Elementu pievienošana un noņemšana

const saraksts = ['a', 'b', 'c'];

saraksts.push('d'); // pievieno beigās → ['a','b','c','d']
saraksts.unshift('z'); // pievieno sākumā → ['z','a','b','c','d']
saraksts.pop(); // noņem no beigām → ['z','a','b','c']
saraksts.shift(); // noņem no sākuma → ['a','b','c']
saraksts.splice(1, 1); // noņem 1 elementu no pozīcijas 1 → ['a','c']

Meklēšana

const augļi = ['ābols', 'bumbieris', 'ķirsis', 'ābols'];

augļi.includes('ķirsis'); // true
augļi.indexOf('bumbieris'); // 1
augļi.indexOf('banāns'); // -1 (nav atrasts)

// Atrast pirmo atbilstošo elementu
const atrasts = augļi.find(a => a.startsWith('b'));
// 'bumbieris'

// Atrast indeksu
const indekss = augļi.findIndex(a => a === 'ķirsis');
// 2

Transformēšana — map, filter, reduce

Šīs trīs metodes ir vissvarīgākās darbam ar masīviem:

const skaitli = [1, 2, 3, 4, 5];

// map — pārveido katru elementu
const dubulti = skaitli.map(n => n * 2);
// [2, 4, 6, 8, 10]

// filter — atlasa elementus pēc nosacījuma
const lielie = skaitli.filter(n => n > 3);
// [4, 5]

// reduce — samazina līdz vienai vērtībai
const summa = skaitli.reduce((acc, n) => acc + n, 0);
// 15

Kārtošana

const vardi = ['Jānis', 'Anna', 'Marta'];
vardi.sort(); // ['Anna', 'Jānis', 'Marta']

// Skaitļu kārtošana (jānorāda salīdzināšanas funkcija!)
const skaitli = [10, 1, 21, 2];
skaitli.sort((a, b) => a - b); // [1, 2, 10, 21]
skaitli.sort((a, b) => b - a); // [21, 10, 2, 1] (dilstoši)

Spread operators (...)

const a = [1, 2, 3];
const b = [4, 5, 6];

// Apvienot masīvus
const visi = [...a, ...b]; // [1, 2, 3, 4, 5, 6]

// Kopēt masīvu
const kopija = [...a];

Destrukturizācija

const [pirmais, otrais, ...parējie] = [1, 2, 3, 4, 5];
console.log(pirmais); // 1
console.log(otrais); // 2
console.log(parējie); // [3, 4, 5]

Metožu ķēdošana

Masīvu metodes var ķēdot vienu aiz otras:

const rezultats = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
.filter(n => n % 2 === 0) // pāra skaitļi: [2,4,6,8,10]
.map(n => n * 10) // reizināt: [20,40,60,80,100]
.reduce((acc, n) => acc + n); // summēt: 300