我有一个users
数组。这些user
中的每一个都有一些上下文,但也有一些功能。
通常,要删除其中一个users
,可以使用users.splice(index, 1)
,其中index
是您感兴趣的索引。
但是,我想为每个用户添加一个函数remove()
,然后只想调用user.remove()
来删除它们,这应该从{{1}中删除user
}}。
可以这样做吗?
答案 0 :(得分:2)
您可以将remove-function添加到有权访问users-array的用户原型中(通过闭包或其他引用)。
var users = [];
User.prototype.remove = function() {
var index = users.indexOf(this);
users.splice(index, 1);
}
答案 1 :(得分:0)
//More generic
var a= {} , b = {};
var users = [a,b];
Object.prototype.removeFromArray = function(users) {
var index = users.indexOf(this);
users.splice(index, 1);
}
console.dir(users); // a,b
a.removeFromArray(users);
console.dir(users); //b