用有角度的字体重新排列数组索引



我的应用程序中有两张卡。

在我的第一张卡片上,这张卡片的索引为0,我的第二张卡片的指数为1。

我有一个叫listAtributos的变体,它有这样的结构:

0: {indexvariacaoatributo: 0, id: 5, tipovariacao: "Cor", valorvariacao: "Azul"}
1: {indexvariacaoatributo: 0, id: 7, tipovariacao: "Tamanho", valorvariacao: "P"}
2: {indexvariacaoatributo: 1, id: 6, tipovariacao: "Cor", valorvariacao: "Amarelo"}
3: {indexvariacaoatributo: 1, id: 7, tipovariacao: "Tamanho", valorvariacao: "P"}

在我的卡的索引和我的列表Atributst(indexvariacoatributo(的索引中有一个关系,通过这个关系,我的元素显示在我的卡片中。

示例:

在具有索引0的卡0中,将显示以下项目:

0: {indexvariacaoatributo: 0, id: 5, tipovariacao: "Cor", valorvariacao: "Azul"}
1: {indexvariacaoatributo: 0, id: 7, tipovariacao: "Tamanho", valorvariacao: "P"

在具有索引1的卡1中,将显示以下项目:

2: {indexvariacaoatributo: 1, id: 6, tipovariacao: "Cor", valorvariacao: "Amarelo"}
3: {indexvariacaoatributo: 1, id: 7, tipovariacao: "Tamanho", valorvariacao: "P"}

在任何时候,我都需要取出一张卡片。在这种情况下,我的listAtributos.indexvariaoatributo索引将出错。

我试图制作一个算法,使更新列表Atributos.indexvariaoatributo符合索引。

示例:

如果我排除卡0,则其中1的索引必须更新为0。

如果我排除了卡1,则其中0的索引变量必须更新为1。

我尝试了一些类似的东西:

for(let i=0;i<this.listAtributos.length;i++){
if(this.listAtributos[i].indexvariacaoatributo == index){
this.listAtributos[i].indexvariacaoatributo = index - 1;
}
}

但不起作用。我现在不考虑其他算法了。

有人能帮我吗?对不起我的英语。

让每张卡都有某种生成的号码,称之为cardId。然后不要将卡片索引存储在indexvariacoatributo中,而是存储相应的卡片ID。现在,对于listAtributos的每个元素,你都会得到cardId,然后过滤所有卡片,得到一张带有相应cardId的卡片。

最新更新