Original article: Check if an Item is in an Array in JavaScript – JS Contains with Array.includes()

Puedes utilizar el método includes() en JavaScript para comprobar si un elemento existe en un arreglo, también lo puedes utilizar para comprobar si una substring existe dentro de una cadena.

Este método retornará  true (verdadero) si el elemento está presente en el arreglo, y  false (falso) si el elemento no existe en dicho arreglo.

En este artículo, verás como usar el método includes() en JavaScript para corroborar si un elemento, o una substring existe en un arreglo.

Como corroborar si un elemento está dentro de un arreglo utilizando el método Array.includes()

Esta es la sintaxis usada por el método includes() para verificar si un elemento está dentro de un arreglo:

array.includes(item, fromIndex)

Vamos a analizar la sintaxis parte por parte:

array es el nombre del arreglo en el que queremos verificar la existencia del objeto que queremos buscar.

El método includes() recibe dos parámetros: item y fromIndex.

  • item  es el elemento que queremos encontrar.
  • fromIndex, el cual es un parámetro opcional, especifica el índice desde el que se quiere realizar la búsqueda. Si no incluyes ese parámetro, el parámetro predefinido será 0 (el primer elemento).

A continuación te presento un par de ejemplos de cómo usar el método includes() para verificar si un elemento está presente en un arreglo:

const numeros = [ 1, 3, 5, 7]; console.log(numeros.includes(3)); // true

En el ejemplo, creamos un arreglo llamado números con cuatro elementos: 1, 3, 5, 7.

Usando notación de punto, accedemos al método includes() del arreglo numeros.

Como parámetro, le pasamos un 3 al método includes(), este es el objeto que queremos encontrar.

Finalmente, obtenemos true (verdadero) porque 3 existe en el arreglo numeros.

Ahora, intentemos buscar un número que no existe en el arreglo:

const numeros = [ 1, 3, 5, 7]; console.log(numeros.includes(8)); // false

Como era de esperarse, obtenemos false (falso) como respuesta debido a que 8 no es un objeto que exista en el arreglo numeros.

Como corroborar si un elemento está dentro de un arreglo utilizando el método Array.includes(), pero esta vez empezando desde un índice específico

En la última parte, vimos cómo verificar si un elemento existe en un arreglo sin utilizar el segundo parámetro del método includes().

Como recordatorio, el segundo parámetro se utiliza para especificar el índice desde el cual se comenzará a buscar dentro del arreglo.

El índice de los arreglos comienza en 0, por lo que el primer elemento es el índice 0, el segundo es el índice 1, el tercero es el índice 2 y así sucesivamente.

Aquí te muestro un ejemplo de como usar el segundo parámetro en el método  includes():

const numeros = [ 1, 3, 5, 7]; console.log(numeros.includes(3,2)); // false

El ejemplo nos retorna false (falso), incluso cuando tenemos el valor 3 dentro del arreglo, ahora, aquí está el porqué:

Usando el segundo parámetro, le pedimos al método includes() que buscará el número 3, pero empezando en el índice 2: numeros.includes(3,2).

Este es el arreglo: [ 1, 3, 5, 7]

Índice 0 = 1.

Índice 1 = 3.

Índice 2 =  5.

Índice 3 = 7.

Así que, comenzando desde el segundo índice, en el que encontramos el valor 5, solo disponemos de dos índices en los cuales buscar , en los cuales se encuentran los valores 5 y 7, este es el porqué al buscar el valor 3 dentro del arreglo, este nos devuelve false (falso), aun cuando este valor si exista en el arreglo.

Si cambias el índice para que comience la búsqueda desde el índice 1, obtendremos true (verdadero) como respuesta porque 3 si existe en ese rango:

const numeros = [ 1, 3, 5, 7]; console.log(numeros.includes(3,1)); // true

Cómo verificar si una Substring existe dentro de una cadena de texto en JavaScript usando el método includes()

De forma similar a los ejemplos anteriores, podemos utilizar el método includes() mediante la notación de punto para buscar una substring dentro de una cadena de texto.

Así es como la sintaxis luce:

string.includes(substring, fromIndex)

Este es un ejemplo:

const bio = "Soy un desarrollador web"; console.log(bio.includes("web")); // true

En el ejemplo, la variable bio contiene la siguiente cadena de texto: "Soy un desarrollador web".

Usando el método includes() buscamos la substring "web".

Obtenemos true (verdadero) como respuesta porque "web" se encuentra dentro de la cadena de texto bio.

Al igual que en el ejemplo anterior, podemos pasarle el segundo parámetro para especificar desde donde queremos empezar a buscar, pero en las cadenas de texto, cada carácter representa un índice de la cadena (incluso los espacios en blanco)

Aquí te presento un ejemplo para ilustrar la búsqueda con

let bio = "Soy un desarrollador web"; console.log(bio.includes("web",23)); // false

Obtenemos false (falso) porque el índice 23 es la "e" en "web".

Empezando en el índice 23, la cadena luce así: "eb", la substring "web" no existe en  esa porción de la cadena, por lo que el método nos retorna false (falso).

Resumen

En este artículo, hablamos sobre el método includes() de JavaScript. Lo usamos para verificar la existencia de un elemento en un arreglo y de una substring en una cadena de texto.

Vimos algunos ejemplos de su uso con y sin especificar el índice desde el que comenzar a buscar.

Finalmente, vimos como usar el método includes()  para verificar la existencia de una substring dentro de una cadena de texto, tanto, en toda la cadena como desde un índice específico.

¡Feliz día programando!