Quickpost: jQuery e o grep fora do shell. Comment

20:04 on 2 de maio de 2010 by Adriano Alves , ,

Olá Amigos!

Numa das minhas andadas à documentação de jQuery, me deparei com um método assim, com um nome um tanto comum para quem está acostumado a trabalhar com *nix/Shell e estranho, alheio para usuários de outros sistemas. Vamos arar a terra:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Usando jQuery.grep</title>
<script type="text/javascript" src="/js/web/jquery_142_dev.js"></script>
</head>
<body>
<div id="conteudo"></div>
</body>
</html>

Agora o javascript:

<script type="text/javascript">
$(document).ready(function(){
  var contas = ( '34.99, 1203, 450, 320.99, 14.00, .89, 2999.99' ).split(', ');
  var novasContas = $.grep( contas, function(v, i ){
      return v < 500;
  });
$( '#conteudo' ).html( '<table border="1"><tr><td>'+ novasContas.join('</td><td border="1">') +'</td></tr></table>' );
});
</script>

Esta função assemelha-se à $.each(), a qual recebe um Array no primeiro parâmetro e um Callback no segundo. A sacada está no condicional de retorno. A função de Callback tem dois parâmetros, o valor e o índice do vetor respectivamente. No nosso caso, retornaremos o valor do Array caso ele seja menor que 500. A var novasContas recebe o retorno de $.grep que é sempre um vetor de todos os valores que passam pela condicional. No final, montamos uma tabela dentro da div com nossos novos valores, agregados numa String a partir da função join. Lembrando que você também pode passar como primeiro parâmetro o retorno de métodos seletores, do tipo $.( ‘pai > filhos’ ). Obrigado pela visita e espero ter ajudado. Dúvidas? Siga-me no twitter, envie um email ou deixe um comentário. Para o alto e Davanti!

Leave a Reply

Have something to say? Jump right in!     Formatting

(required)
(required)

Close

Formatting Your Comment

The following XHTML tags are available for use:

<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

URLs that start with http:// are automatically converted to hyperlinks.


three + = 5