Javascript 如果要再次插入元素,请从对象数组中删除该元素

Javascript 如果要再次插入元素,请从对象数组中删除该元素,javascript,jquery,arrays,json,Javascript,Jquery,Arrays,Json,首先大家好 我在JS中得到了如下对象数组: [{name: "pepe", id: "#34"}{name: "juan", id: "#23"}] 如果用户再次尝试插入该项,我希望从数组中删除一个对象 示例 原始阵列: [{name: "pepe", id: "#34"}{name: "juan", id: "#23"}] 用户单击以再次添加pepe。结果: [{name: "juan", id: "#23"}] 如果有人能帮我,那就太好了 您必须使用以下方法找到元素的位置: index

首先大家好

我在JS中得到了如下对象数组:

[{name: "pepe", id: "#34"}{name: "juan", id: "#23"}]
如果用户再次尝试插入该项,我希望从数组中删除一个对象

示例

原始阵列:

[{name: "pepe", id: "#34"}{name: "juan", id: "#23"}]
用户单击以再次添加pepe。结果:

[{name: "juan", id: "#23"}]

如果有人能帮我,那就太好了

您必须使用以下方法找到元素的位置:

index = array_name.findIndex(obj => obj.name === "pepe");
之后,您可以使用

array_name.splice(index, 1);
在使用此函数之前,需要检查索引是否不是-1。
如果您得到它,这意味着该对象不在您的列表中,您不应该执行该函数。否则,您将得到一个错误。

用户如何尝试插入?单击一个表以便在插入前检查它是否在那里,如果在那里,请删除它。。。。您想要
find()
请以更好的方式解释您自己,确保在拼接之前它不是
-1
,或者将从阵列末尾删除不需要的项目,抱歉。我忘了解释-1。如果对象不在列表中,则索引将为-1。谢谢你,查理lI尝试
var index=checkedMolsTable.findIndex(obj=>checkedMolsTable.iky==iky);if(index==-1){checkedMolsTable.splice(index,1);}else{for(filteredDataSet中的var mol){if(filteredDataSet[mol].iky===iky){checkedMolsTable.push(filteredDataSet[mol]);}}
但索引始终为-1@charlietfl@MarcSerretiGarcia
checkedMolsTable.iky===iky
应该是
obj.iky===iky
@charlietfl。是的,但问题仍然存在,始终为-1