I am trying to find and change a item that is inside of an array of arrays.
My array is like that:
const matriz = [
[
{
codigo: 1,
imagem: 1,
clicou: false,
},
{
codigo: 2,
imagem: 2,
clicou: false,
},
{
codigo: 3,
imagem: 3,
clicou: false,
},
{
codigo: 4,
imagem: 4,
clicou: false,
},
{
codigo: 5,
imagem: 5,
clicou: false,
},
{
codigo: 6,
imagem: 1,
clicou: false,
},
{
codigo: 7,
imagem: 2,
clicou: false,
},
{
codigo: 8,
imagem: 3,
clicou: false,
},
{
codigo: 9,
imagem: 4,
clicou: false,
},
{
codigo: 10,
imagem: 5,
clicou: false,
},
],
[
{
codigo: 11,
imagem: 1,
clicou: false,
},
{
codigo: 12,
imagem: 2,
clicou: false,
},
{
codigo: 13,
imagem: 3,
clicou: false,
},
{
codigo: 14,
imagem: 4,
clicou: false,
},
{
codigo: 15,
imagem: 5,
clicou: false,
},
{
codigo: 16,
imagem: 1,
clicou: false,
},
{
codigo: 17,
imagem: 2,
clicou: false,
},
{
codigo: 18,
imagem: 3,
clicou: false,
},
{
codigo: 19,
imagem: 4,
clicou: false,
},
{
codigo: 20,
imagem: 5,
clicou: false,
},
],
[
{
codigo: 21,
imagem: 1,
clicou: false,
},
{
codigo: 22,
imagem: 2,
clicou: false,
},
{
codigo: 23,
imagem: 3,
clicou: false,
},
{
codigo: 24,
imagem: 4,
clicou: false,
},
{
codigo: 25,
imagem: 5,
clicou: false,
},
{
codigo: 26,
imagem: 1,
clicou: false,
},
{
codigo: 27,
imagem: 2,
clicou: false,
},
{
codigo: 28,
imagem: 3,
clicou: false,
},
{
codigo: 29,
imagem: 4,
clicou: false,
},
{
codigo: 30,
imagem: 5,
clicou: false,
},
],
[
{
codigo: 31,
imagem: 1,
clicou: false,
},
{
codigo: 32,
imagem: 2,
clicou: false,
},
{
codigo: 33,
imagem: 3,
clicou: false,
},
{
codigo: 34,
imagem: 4,
clicou: false,
},
{
codigo: 35,
imagem: 5,
clicou: false,
},
{
codigo: 36,
imagem: 1,
clicou: false,
},
{
codigo: 37,
imagem: 2,
clicou: false,
},
{
codigo: 38,
imagem: 3,
clicou: false,
},
{
codigo: 39,
imagem: 4,
clicou: false,
},
{
codigo: 40,
imagem: 5,
clicou: false,
},
],
[
{
codigo: 41,
imagem: 1,
clicou: false,
},
{
codigo: 42,
imagem: 2,
clicou: false,
},
{
codigo: 43,
imagem: 3,
clicou: false,
},
{
codigo: 44,
imagem: 4,
clicou: false,
},
{
codigo: 45,
imagem: 5,
clicou: false,
},
{
codigo: 46,
imagem: 1,
clicou: false,
},
{
codigo: 47,
imagem: 2,
clicou: false,
},
{
codigo: 48,
imagem: 3,
clicou: false,
},
{
codigo: 49,
imagem: 4,
clicou: false,
},
{
codigo: 50,
imagem: 5,
clicou: false,
},
],
[
{
codigo: 51,
imagem: 1,
clicou: false,
},
{
codigo: 52,
imagem: 2,
clicou: false,
},
{
codigo: 53,
imagem: 3,
clicou: false,
},
{
codigo: 54,
imagem: 4,
clicou: false,
},
{
codigo: 55,
imagem: 5,
clicou: false,
},
{
codigo: 56,
imagem: 1,
clicou: false,
},
{
codigo: 57,
imagem: 2,
clicou: false,
},
{
codigo: 58,
imagem: 3,
clicou: false,
},
{
codigo: 59,
imagem: 4,
clicou: false,
},
{
codigo: 60,
imagem: 5,
clicou: false,
},
],
[
{
codigo: 61,
imagem: 1,
clicou: false,
},
{
codigo: 62,
imagem: 2,
clicou: false,
},
{
codigo: 63,
imagem: 3,
clicou: false,
},
{
codigo: 64,
imagem: 4,
clicou: false,
},
{
codigo: 65,
imagem: 5,
clicou: false,
},
{
codigo: 66,
imagem: 1,
clicou: false,
},
{
codigo: 67,
imagem: 2,
clicou: false,
},
{
codigo: 68,
imagem: 3,
clicou: false,
},
{
codigo: 69,
imagem: 4,
clicou: false,
},
{
codigo: 70,
imagem: 5,
clicou: false,
},
],
[
{
codigo: 71,
imagem: 1,
clicou: false,
},
{
codigo: 72,
imagem: 2,
clicou: false,
},
{
codigo: 73,
imagem: 3,
clicou: false,
},
{
codigo: 74,
imagem: 4,
clicou: false,
},
{
codigo: 75,
imagem: 5,
clicou: false,
},
{
codigo: 76,
imagem: 1,
clicou: false,
},
{
codigo: 77,
imagem: 2,
clicou: false,
},
{
codigo: 78,
imagem: 3,
clicou: false,
},
{
codigo: 79,
imagem: 4,
clicou: false,
},
{
codigo: 80,
imagem: 5,
clicou: false,
},
],
[
{
codigo: 81,
imagem: 1,
clicou: false,
},
{
codigo: 82,
imagem: 2,
clicou: false,
},
{
codigo: 83,
imagem: 3,
clicou: false,
},
{
codigo: 84,
imagem: 4,
clicou: false,
},
{
codigo: 85,
imagem: 5,
clicou: false,
},
{
codigo: 86,
imagem: 1,
clicou: false,
},
{
codigo: 87,
imagem: 2,
clicou: false,
},
{
codigo: 88,
imagem: 3,
clicou: false,
},
{
codigo: 89,
imagem: 4,
clicou: false,
},
{
codigo: 90,
imagem: 5,
clicou: false,
},
],
[
{
codigo: 91,
imagem: 1,
clicou: false,
},
{
codigo: 92,
imagem: 2,
clicou: false,
},
{
codigo: 93,
imagem: 3,
clicou: false,
},
{
codigo: 94,
imagem: 4,
clicou: false,
},
{
codigo: 95,
imagem: 5,
clicou: false,
},
{
codigo: 96,
imagem: 1,
clicou: false,
},
{
codigo: 97,
imagem: 2,
clicou: false,
},
{
codigo: 98,
imagem: 3,
clicou: false,
},
{
codigo: 99,
imagem: 4,
clicou: false,
},
{
codigo: 100,
imagem: 5,
clicou: false,
},
],
]
The way i'm doing it now is using a forEach:
matriz.forEach((x) => {
let achou = false;
// console.log("x: ", x, id)
// console.log("typeof(x): ", typeof x)
x.forEach((y) => {
if (y.codigo === id) {
// Realizo a inversão do booleano
y.clicou = !y.clicou;
console.log('y: ', y);
achou = true;
throw BreakException;
}
});
if (achou) {
throw BreakException;
}
});
The problem is that I can't stop the loop and I believe there must be a better way, maybe using the 'find' command.
I can do this with find when it is a single array.