在javascript中从数组中删除索引(使用原型框架,在类中)
我在使用prototype设置数组中的键时遇到问题(尽管这可能是一个一般的javascript问题)——我在自定义prototype类中有以下代码:在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
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一起使用,因为它为您添加了它