Javascript - 直接从数组中删除条目

时间:2014-07-17 21:31:16

标签: javascript

我有一个users数组。这些user中的每一个都有一些上下文,但也有一些功能。

通常,要删除其中一个users,可以使用users.splice(index, 1),其中index是您感兴趣的索引。

但是,我想为每个用户添加一个函数remove(),然后只想调用user.remove()来删除它们,这应该从{{1}中删除user }}。

可以这样做吗?

2 个答案:

答案 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