Estoy tratando de comparar grid[i][j] con el índice directamente arriba, luego devuelvo todos los valores que son diferentes. Entonces, si grid[i][j] no coincide con el que está arriba, el código debería devolver grid[i][j].
Pensé que [i-1] funcionaría (directamente debajo👇), pero recibo un error de no poder leer las propiedades de undefined.
if(grid[i][j] !== grid[i-1][j]){ return grid[i][j] }Aquí está el caso de prueba:
[["1","0","1","1","0"],["1","1","0","1","0"],["1","1","0","0","0"],["0","0","0","0","0"]]a continuación se muestra el código que he escrito:
var numIslands = function(grid) { for(let i = 0; i < grid.length; i++){ for(let j = 0; j < grid.length; j++){ let ans = 0; if(grid[i][j] === '1'){ if(grid[i][j] !== grid[i-1][j]){ return grid[i][j] } } } } };¿Coincide esto con el resultado deseado?
let x = [ // Expected Outputs: ["1", "0", "1", "1", "0"], // _, 1, 0, _, _ ["1", "1", "0", "1", "0"], // _, _, _, 0, _ ["1", "1", "0", "0", "0"], // 0, 0, _, _, _ ["0", "0", "0", "0", "0"] // = 1, 0, 0, 0, 0 ] for (let i = 0; i < x.length; i++) { let lower = x.slice(i + 1, i + 2) for (let j = 0; j < x[0].length; j++) { if (!lower.length) { continue } if (lower[0][j] != x[i][j]) { console.log(lower[0][j]) } } }