【问题标题】:Remove an entry from a collection when an attribute matches a particular value using lodash当属性与特定值匹配时,使用 lodash 从集合中删除条目
【发布时间】:2017-09-07 04:40:46
【问题描述】:

我有一个收藏,

 var users = [
       {'user': 'Mike', 'age': 11,  'description': 'Null'},
       {'user': 'Kiddo', 'age': 36,  'description': 'Not Available'},
       { 'user': 'Jack', 'age': 36,  'description': 'test'}
     ];

如何使用 lodash 库删除具有 'description' :'Not Available' 的条目?

编辑 1: 尝试使用以下,

function removeItemsByAttrValue (collection, attrValue, matchValue) { 
    return _.filter(collection, val => val.attrValue !== matchValue);
}

像这样调用它,

 removeItemsByAttrValue (users, 'description', 'Not Available');

不知何故,这并没有过滤项目。

【问题讨论】:

标签: javascript lodash


【解决方案1】:

您可以使用内置的JS方法来处理数组filter

var filteredUsers = users.filter(val => val.description !== 'Not Available');

Lodash也有过滤方法,不过这里没必要用

_.filter(users, val => val.description !== 'Not Available') 

【讨论】:

  • 谢谢,当我在函数中使用它并传递参数时,不知何故它没有过滤。我用我尝试过的方法编辑了这个问题。但如果按原样使用过滤器,它就可以工作。
  • 你需要更新你的函数看起来像这样:_.filter(collection, val => val[attrValue] !== matchValue); 注意括号符号@Vishnu
  • 再次感谢,我试试看!
猜你喜欢
  • 2018-01-09
  • 2020-01-14
  • 1970-01-01
  • 2019-09-25
  • 2012-12-04
  • 1970-01-01
  • 2011-05-26
  • 2018-04-19
  • 1970-01-01
相关资源
最近更新 更多