sábado, 27 de julio de 2019

Buscar en arrays en JavaScript

Vamos a utilizar find y some para hacer búsquedas en un array.

El método find() devuelve el valor del primer elemento en un array que cumple una condición establecida en forma de función.
El método find() se ejecuta para cada elemento contenido en la lista. Si un elemento cumple la condición establecida en la función devuelve ese elemento y no analiza los restantes, por lo que en caso de cumplir la condición varios de ellos únicamente devuelve el primero. Si ningún item cumple la condición devuelve undefined.

El método some() verifica si alguno de los elementos del array cumple la condición establecida en una función. Si alguno cumple la condición devuelve true y en caso contrario devuelve false.


https://repl.it/@valoro/JS-buscar-en-arrays

 'use strict'  
 var numeros = [7, 15, 3, 55, 100];  
   
 //Buscar si existe algún elemento que cumpla una condición  
 var encontrado1 = numeros.find(function(element) {  
  return element > 10;  
 });  
 console.log(encontrado1); //da 15 pq es el 1º >10  
   
 //con una función de flecha  
 var encontrado2 = numeros.find(item => item > 20);  
 console.log(encontrado2); //da 55 pq es el 1º >20  
   
 //otro ejemplo con la función flecha  
 var elementos=["Carbono","Oxígeno","Hierro"];  
 var encontrado3=elementos.find(elemento => elemento=="Carbono");  
 console.log(encontrado3); //da Carbono  
   
 //Buscando el índice donde se encuentra el elemento  
 var encontrado4=elementos.findIndex(elemento => elemento=="Carbono");  
 console.log(encontrado4); //da 0 porque el Carbono está el primero  
   
 //otro ejemplo con some  
 var encontrado5 = numeros.some(item => item<5);  
 console.log(encontrado5); //da true  

En el primer ejemplo se establece la función dentro de find como función anónima pero también se podría haber escrito como una función con nombre normal. En ese caso el primer ejemplo podría escribirse como se muestra seguidamente.

 var encontrado0 = numeros.find(buscar);  
 console.log(encontrado0); //da 15 pq 15 es el 1º >10  
 function buscar(element){  
  return element > 10;  
 }  

No hay comentarios:

Publicar un comentario