const a = [[1,1], [2,1], [3,1]]; console.log(a); console.log(a.includes([1,1])); > false ¿Puede alguien explicarme por qué los resultados anteriores son false ? Por lo que vale, esto ocurre en cualquiera de las funciones de búsqueda ( .find , .indexof , etc), así como si pruebo [1,1] in a archivo . Claramente me falta algo sobre cómo funciona la búsqueda de matrices multidimensionales en javascript.
Básicamente, así es como funciona el operador igual a en JavaScript. Si tratamos de comparar dos matrices
[1]=== [1] // El operador de igualdad falsa puede comparar valores primitivos (número, cadena booleana). Pero en el caso de matrices y objetos, se compara como referencia. Entonces, aquí estamos comparando dos referencias diferentes, por lo que parece falso. Por la misma razón te estás volviendo falso. Tienes que escribir la lógica del cliente para comparar arreglos.