Underscore.js: a Biblioteca JavaScript que Você Precisa Conhecer

Hoje estou aqui para compartilhar uma biblioteca JavaScript que conheci a pouco tempo e que você também precisa saber de sua existência!

Acredito que os programadores Ruby estão acostumados com métodos simples como: each, map, min, max etc.. Agora você pode ter eles em JavaScript, com a biblioteca Underscore.js.

Escolhi alguns métodos para apresentá-los, vejamos abaixo..

Each

Itera sobre uma lista de elementos, podendo acessar o valor e índice.

_.each([10, 20, 30, 40], function(v, i){
  // listando [valor, índice]
  console.log([v, i]);
});
=> [10, 0]
=> [20, 1]
=> [30, 2]
=> [40, 3]

Map

Produz um novo array mapeando cada valor através da função.

_.map([2, 4, 6],function(v){
  // multiplica por 2
  return v * 2;
});
=> [4, 8, 12]

Filter

Percorre cada elemento, retornando um array de valores que passam na condição.

_.filter(['João', 'Pedro', 'Paulo'], function(v){
  // apenas que começam com a letra "P"
  return v.charAt(0) == 'P';
});
=> ["Pedro", "Paulo"]

Contains

Retorna true se o valor está presente na lista.

_.contains(['ruby', 'python', 'php'], 'javascript');
=> false

Max

Retorna o valor máximo da lista.

_.max([23, 45, 65, 34, 1, 35])
=> 65

Shuffle

Retorna uma cópia misturada da lista.

_.shuffle([1, 2, 3, 4, 5]);
=> [5, 2, 1, 4, 3]

Last

Retorna o último elemento do array.

_.last([{name: 'André', age: 21}, {name: 'Marta', age: 37}]);
=> Object { name="Marta", age=37}

Flatten

"Achata" um array.

_.flatten([[1, 2], [[[4, 5]]], [[[[6], 7]]]])
=> [1, 2, 4, 5, 6, 7]

Range

Cria um faixa de valores.

// Começa em 100, vai até 200, de 10 em 10
_.range(100, 210, 10);
=> [100, 110, 120, 130, 140, 150, 160, 170, 180, 190, 200]

Has

Retorna true se o objeto contém uma dada chave.

_.has({a: 1, b: 2, c: 3}, 'd');
=> false

Times

Invoca uma função iteradora dado o número de vezes.

_(4).times(function(n){
  console.log("número " + n)
});
=> número 0
=> número 1
=> número 2
=> número 3

Essa são apenas algumas funções, entre no site e confira todas.

Abraços.

Written on February 8, 2014

Share: