在javascript中从数组中删除索引(使用原型框架,在类中)

在javascript中从数组中删除索引(使用原型框架,在类中),javascript,prototypejs,Javascript,Prototypejs,我在使用prototype设置数组中的键时遇到问题(尽管这可能是一个一般的javascript问题)——我在自定义prototype类中有以下代码: initialize: function(selector) { this.selected = []; this.selectcount = 0; }, addSelected: function(value) { this.selected.push(value); this.selectcount++; }, removeS

我在使用prototype设置数组中的键时遇到问题(尽管这可能是一个一般的javascript问题)——我在自定义prototype类中有以下代码:

initialize: function(selector) { 
  this.selected = [];
  this.selectcount = 0;
},
addSelected: function(value) {
  this.selected.push(value);
  this.selectcount++;
},
removeSelected: function(value) {
  delete this.selected[value];
  this.selectcount--;
},
添加到数组效果很好,但我一辈子都不知道如何删除数组中的特定ID(值引用了它添加到选定数组中的特定ID,我需要在单击removeSelected时从数组中删除相同的值…)——我也尝试了

this.selected.splice(value, 1);
但这也不起作用。我基本上是在寻找php中unset()的等价物

对于我所缺少的任何帮助,我们将不胜感激


提前谢谢

使用
splice()
,您的方法是正确的,但是您需要在数组中的值的索引中传递它,而不是值本身

indexOf()
是用于此操作的方法:

var index = this.selected.indexOf(value);
if (index !== -1) {
    this.selected.splice(index, 1);
    this.selectcount--;
}
indexOf()
如果数组中不存在该值,则返回-1

请注意,
Array.indexOf()
在一些较旧的浏览器上不受支持,但您可以将它与Prototype.js一起使用,因为它为您添加了它