Array.from()
Korišćenjem metode “from()” možemo od “array-like” ili “iterable” napraviti niz:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
// String u niz Array.from('foo'); //Vraća: ["f", "o", "o"] // Set u niz var s = new Set(['foo', window]); Array.from(s); // Vraća: ["foo", window] // Map u niz var m = new Map([[1, 2], [2, 4], [4, 8]]); Array.from(m); // Vraća: [[1, 2], [2, 4], [4, 8]] // Array like u niz function f() { return Array.from(arguments); } f(1, 2, 3); // Vraća: [1, 2, 3] |
Array.prototype.find()
Ova metoda vraća prvi član niza koji zadovoljava uslov (uslov u okviru callback funkcije). Callback funkciji metoda prosledjuje tri parametra:
- vrednost člana niza
- indeks člana niza
- niz (nad kojim se izvršava metoda)
Pored callback funkcije može (opciono) da se prosledi i argument thisArg, koji definiše na šta će da ukazuje rezervisana reč this u okviru callback funkcije.
1 2 3 |
izvorniNiz.find(function (currentValue, index, array) { //neki uslov }, [thisArg]); |
Primer
1 2 3 4 5 6 7 8 9 10 11 |
var korpa = [ {imeVoca: 'banana', kolicina: 0}, {imeVoca: 'jabuka', kolicina: 2}, {imeVoca: 'visnja', kolicina: 5} ]; function daliImaVoca(vocka) { return vocka.kolicina > 0 ; // Vraca: {imeVoca: 'jabuka', kolicina: 2} } var poslastice = korpa.find(daliImaVoca); console.log("Korpa nije prazna, ima " + poslastice.imeVoca); // Vraca: Korpa nije prazna, ima jabuka |
Metoda findIndex() radi sličnu stvar, stim što umesto prvog elementa koji je zadovoljio uslov, vraća njegov index u nizu.
Array.prototype.findIndex()
Ovaj metod vraća index prvog elementa u nizu koji zadovoljava testnu funkciju, ukoliko nema takvog elementa onda vraća “-1”.
Primer
1 2 3 4 5 |
var array1 = [5, 12, 8, 130, 44]; function findFirstLargeNumber(element) { return element > 13; } console.log(array1.findIndex(findFirstLargeNumber)); // Vraća: 3 |
Array.prototype.includes()
Metoda koja je stigla sa ES2016 standardom a proverava da li postoji traženi element u nizu.
1 2 3 4 5 6 |
var array1 = [1, 2, 3]; console.log(array1.includes(2)); // Vraća: true var pets = ['cat', 'dog', 'bat']; console.log(pets.includes('cat')); // Vraća: true console.log(pets.includes('at')); // Vraća: false |