JavaScript: compruebe si la matriz incluye un valor / elemento

J

 

Introducción

Las matrices son una de las estructuras de datos más utilizadas en informática. Al tratar con una lista de elementos (matriz), a menudo se nos pide que busquemos un valor particular en la lista. JavaScript contiene algunos métodos integrados para verificar si una matriz tiene un valor u objeto específico.

En este artículo, veremos cómo verificar si una matriz incluye / contiene un valor o elemento en JavaScript.

Verificar matriz de valores primitivos incluye un valor

Función Array.includes ()

La forma más sencilla de verificar un valor primitivo en una matriz es usar el includes() método:

let isInArray = arr.includes(valueToFind[, fromIndex])
// arr         - array we're inspecting
// valueToFind - value we're looking for
// fromIndex   - index from which the seach will start (defaults to 0 if left out)
// isInArray   - boolean value which tells us if arr contains valueToFind

Por ejemplo, verifiquemos si la matriz de animales contiene los emojis de perro y gato:

let animals = ["🐘", "🐒", "🐶", "🐍"]

animals.includes("🐶") // true
animals.includes("🐱") // false

La función devuelve un valor booleano, que significa la presencia o ausencia del valor.

Función Array.indexOf ()

En los casos en que necesitemos la ubicación exacta del elemento que estamos buscando, podemos usar el indexOf(elem) método, que busca elem en la matriz especificada y devuelve el índice de su primera aparición, y -1 si la matriz no contiene elem.

Por ejemplo, podemos buscar la primera aparición de una calificación en una matriz que contiene calificaciones:

let grades = ["B", "D", "C", "A"]

grades.indexOf("A") // 3
grades.indexOf("F") // -1

En la primera instancia, el elemento está presente y se devuelve su posición. En la segunda instancia, el valor de retorno significa que el elemento no está presente.

Podemos usar esto para alterar el flujo de código fácilmente:

let grades = ["B", "D", "C", "A"]

if (grades.indexOf("F") >= 0) {
    console.log("Element is present");
} else {
    console.log("Element is not present");
}

Si pasamos F, se imprime el mensaje adecuado:

Element is not present

Comprobación de si la matriz de objetos incluye un objeto

alguna () función

Al buscar un objeto, includes() comprueba si la referencia de objeto proporcionada coincide con la de la matriz. Esto rara vez es lo que queremos, porque los objetos pueden tener campos idénticos con valores correspondientes pero referencias diferentes.

Podemos usar el some() método para buscar por contenido del objeto. los some() El método toma un argumento acepta una devolución de llamada, que se ejecuta una vez para cada valor en la matriz hasta que encuentra un elemento que cumple la condición establecida por el callback función y devuelve true.

Miremos a some() en acción para entenderlo mejor:

let animals = [{name: "dog"}, {name: "snake"}, {name: "monkey"}, {name: "donkey"}]
let element = {name: "monkey"}

animals.some(animal => animal.name === element.name)

La función de devolución de llamada vuelve false para los dos primeros casos, pero devuelve true para el tercer elemento, ya que los nombres coinciden. Después de este, some() detiene la ejecución y regresa true.

Conclusión

En este artículo, hemos repasado algunas formas de verificar si una matriz contiene un valor o no, en JavaScript.

Hemos cubierto el includes() función, que devuelve un valor booleano si el valor está presente. los indexOf() La función devuelve el índice de un valor si está presente, y -1 si no lo es.

Finalmente, para los objetos, el some() La función nos ayuda a buscar la presencia de objetos en función de su contenido.

 

About the author

Ramiro de la Vega

Bienvenido a Pharos.sh

Soy Ramiro de la Vega, Estadounidense con raíces Españolas. Empecé a programar hace casi 20 años cuando era muy jovencito.

Espero que en mi web encuentres la inspiración y ayuda que necesitas para adentrarte en el fantástico mundo de la programación y conseguir tus objetivos por difíciles que sean.

Add comment

Sobre mi

Últimos Post

Etiquetas

Esta web utiliza cookies propias para su correcto funcionamiento. Al hacer clic en el botón Aceptar, aceptas el uso de estas tecnologías y el procesamiento de tus datos para estos propósitos. Más información
Privacidad