拔出一个物体

时间:2015-02-11 16:39:30

标签: object underscore.js

我最近能够链接一些下划线来映射从对象数组中拉出一些值。但是,我收到了一些我无法解决的背景。以下是我创建的对象中我创建的对象

Object {family: 45, rest: 60, personal: 145, work: 180}

当我打电话

_.pluck(Object, "family") I get an empty array.

我也试图通过对象的名称来调用。

_.pluck(groupMinuteTotal, 'family')

我一直在数组中未定义4次。

不确定我错过了什么。

1 个答案:

答案 0 :(得分:3)

_.pluck可以针对一个对象数组或一个对象进行调用,其中每个值都是一个对象本身,并且你正在“拔除”。您可以使用它:

var group = [{family: 45, rest: 60, personal: 145, work: 180}, {family: 3, rest: 60, personal: 145, work: 180}];
_.pluck(group, 'family'); // [45, 3]

您也可以像这样使用它:

var group =  { 'john' : {family: 45, rest: 60 }, 'max' : {family: 3, rest: 60} };
_.pluck(group, 'family'); // [45, 3] (order not guaranteed)

在你的情况下,它试图从对象中的每个值中拉出“family”键,返回undefined,因为数字没有该键的值。

如果您提供有关您要实现的目标的更多背景信息,则可能更容易提供更好/替代解决方案。如果您只有一个对象,则应该调用groupMinuteTotal['family']来获取值。如果它是链式操作的结果,只需调用value()来检索链式对象:

_.chain(collection)
...other operations resulting in a single object...
.value()['family'];