如何根据Java中的特定条件从数组中删除行

Mar*_*009 3 javascript arrays filtering

我有一个名为userList的数组,并通过循环将一些数据推入其中来填充它。

userList.push({
  userProfileID : dataEntry.UserProfileID ,
  isAgent       : dataEntry.isAgent       ,
  firstName     : dataEntry.firstName     ,
  roleNames     : dataEntry.roleNames
})
Run Code Online (Sandbox Code Playgroud)

输出将是这样,还有100条记录

0: Object {userProfileID: "68670", isAgent: false, firstName: "ARSDEO", roleNames:"Deo Role"}
1: Object {userProfileID: "68672", isAgent: false, firstName: "ARSBM101", roleNames:"BM Role"}
2:.......
3:.......
Run Code Online (Sandbox Code Playgroud)

在这里,我要删除 userList数组中具有roleNames ='BM role'的条目

我尝试了这个:

userList = userList.filter(item => userList.roleNames == 'BM Role');
Run Code Online (Sandbox Code Playgroud)

但是我没有数组记录。请指教...

And*_*ndy 7

几乎。

要检查如果属性rolesNames不等于 “BM作用”(即要筛选出那些)item

const newList = userList.filter(item => item.roleNames !== 'BM Role');
Run Code Online (Sandbox Code Playgroud)

注意:filter与其他函数数组方法map和一样reduce,它不会使数组发生突变,它返回的数组仅包含那些与回调条件匹配的元素。