【发布时间】:2016-07-15 13:40:05
【问题描述】:
我正在尝试通过其中一个键的值来获取数组中的对象。
数组:
var arr = [
{
city: 'Amsterdam',
title: 'This is Amsterdam!'
},
{
city: 'Berlin',
title: 'This is Berlin!'
},
{
city: 'Budapest',
title: 'This is Budapest!'
}
];
我尝试用lodash 做类似的事情,但没有成功。
var picked = lodash.pickBy(arr, lodash.isEqual('Amsterdam');
它返回一个空对象。
关于我如何以 lodash 方式做到这一点的任何想法(如果可能的话)?我可以用经典的方式来做,创建一个新数组,遍历所有对象并将符合我的条件的对象推送到那个新数组。但是有没有办法用 lodash 做到这一点?
这不是重复的。
【问题讨论】:
-
@JoachimIsaksson 为什么不能发布答案?这正是我想要的!我会将其标记为已回答
-
@Rajesh 因为统一原则。我在我的 Node 应用程序中使用 lodash 进行所有对象/数组操作,如果可能的话 - 我想尽可能使用它。
-
是的,关于 SO 的 10M 问题中没有一个问过如何根据对象的属性之一查找对象数组的元素。如果您不喜欢这个被标记为重复的问题,请尝试stackoverflow.com/questions/7364150/…。
-
@torazaburo 要成为其他东西的复制品,它必须是相同的。这些问题都没有涉及任何 lodash。我专门要求 lodash,因此这不是重复的。
-
我给出的链接包含下划线的答案,这与 lodash 几乎相同,并且对该答案的评论特别引用了 lodash。与其对重复的定义争论不休,我建议您只需浏览 lodash 文档,您将很快找到问题的答案。例如,您很快就会找到
_.find例程。您还会找到一个与您的用例完全匹配的示例,即_.find(users, _.matchesProperty('city', 'Amsterdam'));。为什么人们认为 SO 是“为我阅读文档”服务对我来说一直是个谜。
标签: javascript arrays node.js lodash