验证数组Json Javascript



我有一个select和rowData[]当我单击Add按钮时,我将名称和值添加到使用函数.push的表中。用于将数据添加到JSON数组中,但我不想添加重复的值。

addItem () {
var equipos_torneo = {
id_torneo: this.id_torneo,
id_equipo: this.id_equipo,
nombre_equipo: nombre_team,
}
this.rowData.push(equipos_torneo)
console.log(equipos_torneo.id_equipo)
},
} 

表:

<tbody>
<tr
v-for="item in rowData"
:key="item.id_torneo"
>
<td>{{ item.id_torneo }}</td>
<td>{{ item.id_equipo }}</td>
<td>{{ item.nombre_equipo }}</td>
</tr>
</tbody>

我想我理解这个问题是问如何防止在数组中有重复值的对象的推送。

请在按压前找出(与find)。
addItem() {
let equipos_torneo = {
id_torneo: this.id_torneo,
id_equipo: this.id_equipo,
nombre_equipo: nombre_team,
};
let exists = this.rowData.find(el => el.id_equipo === equipos_torneo.id_equipo);
if (!exists) this.rowData.push(equipos_torneo);
}

在压入rowData[]之前,需要检查是否有类似的值。.

我建议这样做:

addItem(){
let duplicates=[]
var equipos_torneo = {
id_torneo: this.id_torneo,
id_equipo: this.id_equipo,
nombre_equipo: nombre_team,
}
this.rowData.forEach((element, index)=>{
if(element.id_torneo===equipos_torneo.id_torneo){
duplicates.push(index)
}
else if(element.id_equipo===equipos_torneo.id_equipo){
duplicates.push(index)
}
else if(element.nombre_equipo===equipos_torneo.nombre_equipo){
duplicates.push(index)
}
else{
this.rowData.push(equipos_torneo)
}
})
}

这样你只会推送到rowData[]只要没有重复。如果有任何重复项,您可以在duplicate []中找到它们。

相关内容

  • 没有找到相关文章

最新更新