Este foro ya no está activo, así que no puedes publicar nuevas preguntas ni responder a las preguntas existentes.

Comparando arrays en JavaScript con la función includes

28 de mayo de 2015

Hola a todos, estoy tratando de usar la función includes para comparar dos arrays, para saber si coinciden o no, y obtener un true o false, tengo el siguiente código:

lista1 = {"gato","perro","borrego","elefante"} // Array con mi listado
lista2 = {"gato","perro","borrego","gallo"} // Array 2 con mi listado
 
// Uso un bucle para evaluar los dos arrays pues ambos tendrán la misma longitud
for (i=1; i < lista1.length ; i++) {
    console.log(lista1[i].includes(lista2[i]));
}

Al ejecutarlo me aparece error en la consola "Uncaught TypeError: Cannot read property 'includes' of undefined", en cambio si hago la función con dos strings simples funciona :c

Muchas gracias por leer mi pregunta y si pueden ayudarme, mejor.

Saludos


Respuestas

#1

El primer problema que veo es que estás definiendo un "array normal" utilizando la sintaxis de los "arrays asociativos" o "hashes". Deberías cambiar el código por lo siguiente:

lista1 = ["gato", "perro", "borrego", "elefante"];
lista2 = ["gato", "perro", "borrego", "gallo"];

Por otra parte, la función includes() aplicada sobre arrays es todavía experimental, por lo que no funcionará en todas las versiones de todos los navegadores.

@javiereguiluz

28 mayo 2015, 19:47
#2

Gracias Javi, lo de la sintaxis, me equivoque yo al ponerlo aquí en el foro, pues mi código original es un array de 50 elementos y no quería llenar de texto mi pregunta.

Todo se resolvió al decirme que la función includes en arrays es experimental, lo pobré en Firefox y me funcionó.

Saludos y gracias por responder, es de mucha ayuda este sitio que forjaste.

@resback

29 mayo 2015, 17:33