JavaScript - 满足条件时从数组中删除对象

Fol*_*y.H 0 javascript arrays

我有以下数组:

  var arr = [{"userId":"12j219","name":"Harry"},{"userId":"232j32", "name":"Nancy"}]
Run Code Online (Sandbox Code Playgroud)

我想在满足以下条件时删除整个对象:

userId == 12j219
Run Code Online (Sandbox Code Playgroud)

为此,我做了以下工作:

arr.filter((user)=>{
    if(user.userId != "12j219"){
    return user;
    }
    })
Run Code Online (Sandbox Code Playgroud)

它完成了这项工作,但肯定不会删除任何内容。如何从数组中删除对象?

Bru*_*res 5

filter()返回一个新数组。来自文档:

返回值:包含通过测试的元素的新数组。

您需要将结果数组分配给arr变量。

尝试:

var arr = [{"userId":"12j219","name":"Harry"},{"userId":"232j32", "name":"Nancy"}]
arr = arr.filter((user) => {
    return user.userId !== '12j219'
})
Run Code Online (Sandbox Code Playgroud)