Tengo problemas para entender por qué mis números no me dan la igualdad correcta en javascript.
Inserté un vector de números en una matriz en javascript ...
const seen = [ [0,1] ]; console.log(contains(seen, [0,1]));Y luego traté de hacer una comparación simple
const contains = function(arr, coordinate){ arr.forEach(element => { if(element[0] == coordinate[0] && element[1] == coordinate[1]){ return true; } }) return false; }Estoy esperando que mi función contiene devuelva verdadero. El elemento es [0,1] y la coordenada con la que estoy comparando también es [0,1], pero cuando intento comparar con lo siguiente:
element[0] == coordinate[0] && element[1] == coordinate[1]En última instancia, devuelve falso.
Código completo:
const contains = function(arr, coordinate) { arr.forEach(element => { if (element[0] === coordinate[0] && element[1] === coordinate[1]) { return true; } }) return false; } const seen = [ [0, 1] ]; console.log(contains(seen, [0, 1]))Debe cambiar el forEach a un for normal. En este momento, el retorno solo regresa del lambda.
const contains = function(arr, coordinate) { for (const element of arr) { if(element[0] == coordinate[0] && element[1] == coordinate[1]) { return true; } } return false; }