JS: Objektid ja meetod

//objekti loomine let auto = { mark: “Toyota”, mudel: “Corolla”, aasta: 2022, varv: “punane”, lisavarustus: [“kliimaseade”, “elektriaknad”, “navigatsioonisüsteem”] }; //väljastamiseks trüki välja kogu objekt //f12 brauseris et näidata konsooli console.log(auto);

Objekti meetodid ja this kasutamine

let auto = { //omadused mark: “Toyota”, mudel: “Corolla L”, aasta: 2022, varv: “punane”, omadused: [“kliimaseade”, “elektriaknad”, “navigatsioonisüsteem”], //meetodid taisnimi: function() { return this.mark + ” ” + this.mudel; } }; console.log(auto.taisnimi());

Meetodi lühendamine

let auto = { //omadused mark: “Toyota”, mudel: “Corolla L”, aasta: 2022, varv: “punane”, omadused: [“kliimaseade”, “elektriaknad”, “navigatsioonisüsteem”], //meetodid taisnimi() { return this.mark + ” ” + this.mudel; }, kuvaOmadused() { this.omadused.forEach(omadus => console.log(omadus)); } }; auto.kuvaOmadused();

Objektide massiivi loomine ja kuvamine

let autod = [ { mark: ‘Toyota’, mudel: ‘Corolla’, aasta: 2007 }, { mark: ‘Honda’, mudel: ‘Civic’, aasta: 2012 }, { mark: ‘Tesla’, mudel: ‘Model 3’, aasta: 2019 } ]; console.log(autod);

Kui soovime näha konkreetse auto andmeid, saame viidata auto positsioonile massiivis (pidage meeles, et massiivide indekseerimine algab 0-st)

console.log(autod[0]);

Ja selles objektis saan elemendid kätte “punkti-süntaksiga”, nagu eespool

console.log(autod[0].mark);

Kõikide mudelite nägemiseks kasutame jällegi forEach tsüklit

let autod = [ { mark: ‘Toyota’, mudel: ‘Corolla’, aasta: 2007 }, { mark: ‘Honda’, mudel: ‘Civic’, aasta: 2012 }, { mark: ‘Tesla’, mudel: ‘Model 3’, aasta: 2019 } ]; autod.forEach((auto) => { console.log(` Mark: ${auto.mark}, Mudel: ${auto.mudel}, Aasta: ${auto.aasta} `); });

Objekti massiivi meetodid

let autod = [ { mark: ‘Toyota’, mudel: ‘Corolla’, aasta: 2007 }, { mark: ‘Honda’, mudel: ‘Civic’, aasta: 2012 }, { mark: ‘Tesla’, mudel: ‘Model 3’, aasta: 2019 } ]; //Lisab uue objekti massiivi lõppu autod.push({ mark: ‘BMW’, mudel: ‘320i’, aasta: 2015 }); autod.unshift({ mark: ‘Ford’, mudel: ‘Focus’, aasta: 2020 });

Meetod splice ühaegselt kustutab ja lisab.

massiiv.splice( {start indeks}, {mitu eemaldada}, {mida lisada} ); //Eemaldab esimese objekti autod.splice(0,1); //Lisab objekti alates teisest indeksist, ei kustutata midagi autod.splice(1,0,{ mark: ‘Audi’, mudel: ‘A4’, aasta: 2018 });

Massiivist otsimine

let autod = [ { mark: ‘Toyota’, mudel: ‘Corolla’, aasta: 2007 }, { mark: ‘Honda’, mudel: ‘Civic’, aasta: 2012 }, { mark: ‘Tesla’, mudel: ‘Model 3’, aasta: 2019 } ]; //Otsimine let otsing = autod.find(auto=>auto.aasta > 2018); console.log(otsing);

Antud meetod leiab esimese vaste ja tagastab selle. Kui vastust ei leita, siis tuleb undefined. Mitme tingimuse seadmiseks kasuta && märke

let autod = [ { mark: ‘Toyota’, mudel: ‘Corolla’, aasta: 2007 }, { mark: ‘Honda’, mudel: ‘Civic’, aasta: 2012 }, { mark: ‘Tesla’, mudel: ‘Model 3’, aasta: 2019 } ]; //Otsimine let otsing = autod.find(auto=>auto.aasta > 2018 && auto.mark === “Tesla”); console.log(otsing);

Massiivi filtreerimine

let arvud = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]; const filtreeritud = arvud.filter(arv => arv % 2 === 0); console.log(filtreeritud);

Autode puhul saame pöörduda näiteks auto.aasta poole ja filtreerida need, mis on uuemad kui 2018

//Filtreerimine let filter = autod.filter(auto=>auto.aasta > 2018); console.log(filter);

Massiivi sorteerimine

let autod = [ { mark: ‘Toyota’, mudel: ‘Corolla’, aasta: 2007 }, { mark: ‘Honda’, mudel: ‘Civic’, aasta: 2012 }, { mark: ‘Tesla’, mudel: ‘Model 3’, aasta: 2019 } ]; autod.sort((a, b) => a.aasta – b.aasta); console.log(autod);

Siin on (a, b) => a - b võrdlusfunktsioon, mis ütleb sort()-ile, et järjestada numbrid nende tegelike numbri väärtuste, mitte stringiväärtuste järgi. Funktsioon a - b tagastab negatiivse väärtuse, kui a on väiksem kui b, positiivse väärtuse, kui a on suurem kui b, ja 0, kui a ja b on võrdsed – just see, mida sort() vajab oma elementide õigesti järjestamiseks.