Hoje vamos apresentar os principais métodos para realizar buscar em arrays na linguagem JavaScript. |
O objetivo desta série de artigos sobre JavaScript é apresentar os conceitos básicos para poder usar o JavaScript em aplicações React, Angular, jQuery, etc., que interagem com aplicações ASP .NET Core ou ASP .NET MVC 5.
Eu estou usando o editor de código Visual Studio Code e testando o código JavaScript usando o terminal REPL do Node.js. (Você tem que ter o Nodejs instalado)
O Node.js é um ambiente de runtime JavaScript construído utilizando o interpretador de JavaScript V8 do Google Chrome.
Veja este artigo para saber como configurar o ambiente para Node e usar o terminal REPL e o VS Code.
Para poder usar o terminal REPL incluindo várias linhas coloque as linhas entre chaves { }.
Nota: O REPL usa (…) para indicar que está aguardando o código completo antes de executar. Basta fechar as chaves e teclar Enter para que o REPL avalie o JavaScript inserido. Para sair de dentro de um bloco (…) sem executar o que você já digitou, basta digitar .break ou pressionar Ctrl + C.
Usando os métodos de busca em arrays
Já sabemos como definir um array em JavaScript. Veremos agora os principais métodos para procurar informações em arrays.
1- Procurando alguma coisa em um array : indexOf() , lastIndexOf() e includes()
Os métodos indexOf, lastIndexOf e includes possuem a mesma sintaxe e fazem essencialmente o mesmo que suas contrapartes de string, mas operam em itens em vez de caracteres. Vejamos a definição de cada um:
Usando o terminal REPL (abra um prompt de comandos
cmd e digite node) teremos:
let bau = [1, 0, false,
"banana" ];
console.log ( bau.indexOf(0) );
console.log ( bau.indexOf(false) );
console.log ( bau.indexOf(null) );
console.log ( bau.indexOf(bana) );
Os métodos usam a
comparação ===. Assim, se procurarmos por
false, ele achará exatamente
false e não o zero.
Se você quiser verificar a inclusão de um elemento e não sabe o índice exato,
então use o método includes():
let bau = [1, 0, false, "banana" ];
console.log ( bau.includes("banana") );
console.log ( bau.includes(true) );
2- Procurando algo com uma condição específica : find() e findIndex()
Esses métodos localizam um elemento após uma condição ser verificada.
Se retornar true a busca é interrompoida e o item é retornado. Se nada for encontrado retorna undefined.
let usuarios = [ {id: 1, nome: "Maria"},
{id: 2, nome: "Jose"},
{id:3 , nome: "Pedro"} ];
let usuario = usuarios.find(item=> item.id == 3);
console.log( usuario.nome );
O método findIndex() possui a mesma sintaxe e atua essencialmente da mesma forma que o método find() retornando o índice onde o elemento foi encontrado ao invés do elemento.
3- Retornando mais de um elemento que atente a uma condição: filter()
O método filter() retorna um array com todos os elementos no array original que atende a uma condição. (find() retorna apenas o primeiro elemento).
A sintaxe é basicamente a mesma que o método find() :
Sintaxe :
let resultado = arr.filter(function(item, index, array) {
// retorna true se o item atende o filtro
});
onde :
item é o elemento
index é o índice
array é o array
Exemplo:
let usuarios = [
{id: 1, nome: "Marta"},
{id: 2, nome: "Carlos"},
{id: 3, nome: "Adriana"} ];
let resultado = usuarios.filter(item => item.id < 3);
console.log( resultado.length);
console.log( resultado );
A seguir temos uma tabela resumindo os principais métodos apresentados:
Método | Descrição |
---|---|
indexOf() | Procura um elemento em um array e retorna sua posição. |
lastIndexOf() | Procurar um elemento em um array do fim para começo e retorna sua posição. |
includes() | Verifica se um array contém um elemento |
find() | Retorna o valor do primeiro elemento que atende uma condição |
findIndex() | Retorna o índice do primeiro elemento que atende uma condição |
filter() | Cria um novo array com cada elemento que atende a uma condição |
Na próxima parte veremos o métodos para transformar um array.
(Jesus a seus discípulos) "Na verdade, na
verdade vos digo que vós chorareis e vos lamentareis, e o mundo se alegrará, e
vós estareis tristes, mas a vossa tristeza se converterá em alegria."
João 16:20
Veja os
Destaques e novidades do SUPER DVD Visual Basic
(sempre atualizado) : clique e confira !
Quer migrar para o VB .NET ?
Quer aprender C# ??
Quer aprender os conceitos da Programação Orientada a objetos ? Quer aprender o gerar relatórios com o ReportViewer no VS 2013 ? |
Gostou ? Compartilhe no Facebook Compartilhe no Twitter
Referências:
Super DVD Vídeo Aulas - Vídeo Aula sobre VB .NET, ASP .NET e C#
Visual Studio - Bem-Vindo Node.js : desenvolvendo para ... - Macoratti
Visual Studio - Iniciando com Node.js - Macoratti
Angular 2 - Cadastro de Clientes - IV - Macoratti
React - Uma introdução bem básica - II - Macoratti
JavaScript - Arrays - Macoratti
ASP.NET - JavaScript - Macoratti
ASP .NET - Validação com JavaScript - Macoratti
JavaScript - Entendendo JavaScript Objects - Macoratti