Nove metode za rad sa nizovima

Array.from()

Korišćenjem metode “from()” možemo od “array-like” ili “iterable” napraviti niz:

// 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]

ES2015

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.

izvorniNiz.find(function (currentValue, index, array) {
    //neki uslov
}, [thisArg]);
Primer
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.

Continue reading…


Pregled novih JavaScript standarda

Spisak novosti

eckma-script-standard

U ovome tekstu su izlistane sve novine koje su došle u sklopu novih JavaScript standarda, a obradjene su na sajltu webprogramiranje.org kroz različite članke:

Standard Novina Članak
ES2015 Novi način deklarisanja promenjivih sa ključnim rečima let & const “let & const”
ES2015 Jednostavno definisanje podrazumevanih vrednosti parametara funukcije “Podrazumevane vrednosti parametara funkcije”
ES2015 Sintaksna poboljšanja objektnog literala “Object literal” poboljšanja
ES2015 Klase “Klase u JavaScript-u”
ES2015 Nova petlja za iteraciju kroz iterable objekte: for…of “Petlje i iteracije u JavaScript-u”
ES2015 Nove metode za rad sa nizovima: Array.from() Array.prototype.find() i Array.prototype.findIndex() “Nove metode u radu sa nizovima”
ES2015 Nova sintaksa za import/export modula “Modularno programiranje sa ES6 standardom
ES2015 Promisi “Promise i asinhrono programiranje”
ES2015 Nova metoda konstruktorske funkcije: Object.assign() Svojstva i metode konstruktorske f-je Object()
ES2015 Nove karakteristike “string-a” “Nove karakteristike string-a”
ES2015 Arrow funkcija “Arrow funkcija”
ES2015 Novi tipovi podataka Map, Set & Symbol Novi tipovi podataka Map, Set & Symbol
ES2015 Spread & Rest operatori “Spread & Rest operatori”
ES2015 Destruktuiranje podataka “Destrukuiranje u JavaScript-u”
ES2015 Iteratori & Generatori Iteratori i Generatori
ES2016 Nova metoda za rad sa nizovima: Array.prototype.inludes() “Nove metode u radu sa nizovima”
ES2016 Eksponencijalni operator ** Eksponencijalni operator **
ES2017 Nove metode konstruktorske funkcije: Object.entries, Object.values i Object.getOwnPropertyDescriptors() Svojstva i metode konstruktorske f-je Object()
ES2017 Async/Await sintaksi “Async/Await” sintaksa za bolje “Promise”