fbpx
Richiedi un preventivo
Il Blog di SEO Cube

Rimani informato sulle ultime novità che ti aiuteranno a realizzare un eccellente sito web lato SEO!

25 Luglio 2013

Underscore.js la libreria Javascript con più di 80 funzioni indispensabili

Oggi vi parlo di una delle librerie attualmente più diffuse in javascript, ovvero Underscore.js.

Questa libreria contiene oltre 80 funzioni per la manipolazione di Array, Oggetti e Collezioni che ci consentono di risparmiare moltissime righe di codice per eseguire delle operazioni noiose e ripetitive. Molte di queste funzioni mancano nei principali Framework con Prototype.js e jQuery che con solo 5kb (della versione Minified di Underscore.js) da oggi non mancheranno più quando saremo alle prese con lo sviluppo di funzionalità avanzate o di applicazioni in javascript. Le funzioni di questa libreria sono veramente tantissime e sono utilizzate anche da aziende molto importanti, ecco un elenco con le funzioni più rilevanti di underscore:

find per la ricerca di elementi in un dato strutturato (collections)

[javascript]
_.find(list, iterator, [context]);
//es.
var even = _.find([1, 2, 3, 4, 5, 6], function(num){ return num % 2 == 0; });
=> 2
// Appena la funzione trova un elemento pari si ferma e restituisce tale elemento, se non c’erano elementi pari avrebbe restituito undefined
[/javascript]

filter per selezionare solo determinati elementi dalla collections

[javascript]
_.filter(list, iterator, [context]);

//es.
var evens = _.filter([1, 2, 3, 4, 5, 6], function(num){ return num % 2 == 0; });
=> [2, 4, 6]
//in questo caso filtrerà tutti gli elementi pari restituendoli in un array
[/javascript]

where utile per cercare nelle collections elementi con determinate proprietà

[javascript]
_.where(list, properties);
//es.
_.where(listaAutori, {author: "Shakespeare", year: 1611});
=> [{title: "Cymbeline", author: "Shakespeare", year: 1611},
{title: "The Tempest", author: "Shakespeare", year: 1611}]
// in questo caso restituirà da una collections di libri, solo quelli dove l’author è Shakespeare e l’anno di pubblicazione è il 1611
[/javascript]

reject questa funzione è l’inversa di filter, ovvero restituisce tutti gli elementi non corrispondenti alle caratteristiche di filtraggio

[javascript]
_.reject(list, iterator, [context]);
//es.
var odds = _.reject([1, 2, 3, 4, 5, 6], function(num){ return num % 2 == 0; });
=> [1, 3, 5]
// come si può vedere a differenza di filter restituisce tutti gli elementi dispari
[/javascript]

contains questa funzione cerca un elemento in una collections restituendo true se presente e false se non lo è

[javascript]
_.contains(list, value);
//es.
_.contains([1, 2, 3], 3);
=> true
//in questo caso 3 è presente nell’array e restituisce true
[/javascript]

pluck questa funzione molto utile estrae da una collections un array composto dalla proprietà che si desidera estrapolare

[javascript]
_.pluck(list, propertyName);
//es.
var names= [{name : ‘joe’, age : 45}, {name : ‘arry’, age : 60}, {name : ‘bruce’, age : 40}];
_.pluck(names, ‘name’);
=> ["joe", "arry", "bruce"]
// in questo caso abbiamo estrapolato una array contenente solo i nomi
[/javascript]

Ci sono altre funzioni degne di rilievo come quelle dedicate all’ordinamento sortBy, groupBy, shuffle, per non parlare di quelle per gli array o delle funzioni utility, ma una delle funzioni più comode è _.chain(obj) che permette di concatenare altre funzioni sfruttando appunto come dal nome il Chaining (di cui ho già parlato qui) es.
[javascript]
var names= [{name : ‘joe’, age : 45}, {name : ‘arry’, age : 60}, {name : ‘bruce’, age : 40}];
var chainvar = _.chain(names) //abilita il Chaining su names
.sortBy(function(names){ return names.age; }) //ordina per age descrescente
.map(function(names){ return names.name + ‘ is ‘ + names.age; }) //crea un nuovo array composto da name is age
.first() //seleziona il primo elemento
.value(); //restituisce il valore
=> "bruce is 40"

[/javascript]

Per le altre innumerevoli funzioni presenti in Underscore.js vi lascio alla documentazione ufficiale reperibile qui.

Vi è piaciuta questa libreria?? Perchè non usarla anche in php?? clicca qui 😉

Richiedi un preventivo
X

Vuoi rendere più performante il tuo sito? Cerchi il supporto giusto per posizionare meglio le tue pagine su Google? Hai bisogno di una consulenza SEO?

Entra in contatto con noi e richiedi un preventivo gratuito: studieremo insieme la strategia più adatta alle tue esigenze e alle caratteristiche del tuo sito.

Compila il modulo se vuoi essere ricontattato dal nostro staff aziendale o utilizza gli altri canali per conoscere tutte le soluzioni che proponiamo per il tuo business, per avere informazioni più precise e per iniziare una collaborazione con SEO Cube.

I nostri recapiti
Via dell'Epomeo, 463 - 80126 Napoli - Tel. 081 588 11 68 / Fax 081 194 66 412

    Dati personali
    Inserire il Nome
    Inserire il Cognome
    Inserire il Numero di telefono
    Inserire un indirizzo email corretto
    Tipo di richiesta
    Messaggio