【发布时间】:2021-11-17 07:03:27
【问题描述】:
我正在尝试查找和更改数组数组中的一项。
我的数组是这样的:
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,
},
],
]
我现在的做法是使用 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;
}
});
问题是我无法停止循环,我相信一定有更好的方法,也许使用“查找”命令。
当它是一个数组时,我可以用 find 来做到这一点。
【问题讨论】:
标签: javascript arrays vue.js matrix