Hay una función, compara 2 matrices para una coincidencia, si coinciden: verdadero, de lo contrario: falso
Pero las condiciones dicen que la matriz puede tener un objeto nulo y si está presente en la matriz, debe generar falso. Pero no puedo entender por qué mi código no funciona, traté de escribir de diferentes maneras, pero el resultado es el mismo, sin importar si hay un valor nulo en la matriz o no.
var isSameTree = function(p, q) { for(let i = 0; i <= p.length; i++) { for(let j = 0; j <= q.length; j++) { if(p[i] || q[j] == null) { return false } if(p[i] == q[j]) { return true } else { return false } } } }; console.log(isSameTree([1,null,2], [1,2])); Your input [1,2,3],[1,2,3] Output false Expected trueEsta condición:
if(p[i] || q[j] == null) {Parece que debería ser:
if(p[i] === null || q[j] === null) { Además, deberá contar los índices por separado de aquellos que iteran sobre sus arreglos. Entonces, en su primer ejemplo i no debería aumentar si se ve null .
Finalmente, está utilizando un operador de comparación <= contra las longitudes de matriz, donde creo que necesitará < en su lugar.