从数组中删除一个元素并保存其他重复项

时间:2018-10-01 11:21:19

标签: javascript jquery

我有一个包含这样的元素的全局数组,并且添加了该数组以跟踪事物,并且包含重复的值以计数代码中的选择次数。

favoriteFruits

我有一个功能:

arrayOfSelectedIds = [a1,a2,a1,a1,a1,a1]

现在我只想一次将其删除,即,当调用该函数时,变量valueOfId中存在的id值应仅从数组中删除一次。我希望输出应该像

function deleteSelection()
{
    var valueOfId  = "a1";
    arrayOfSelectedIds.remove(valueOfId);             
}

如果是arrayOfSelectedIds = [a2,a1,a1,a1,a1] ,那么

valueOfId = a2

请帮助!!!

1 个答案:

答案 0 :(得分:4)

Array.prototype.splice()

  

splice()方法通过删除现有元素和/或添加新元素来更改数组的内容。

您可以按照以下方式使用splice()

var arrayOfSelectedIds = ['a1','a2','a1','a1','a1','a1']

function deleteSelection(valueOfId){
  arrayOfSelectedIds.splice(arrayOfSelectedIds.indexOf(valueOfId), 1);             
}
deleteSelection('a1');
console.log(arrayOfSelectedIds);