我已经重新实现了自己需要的版本,但我怀疑这已经包含在下划线中,因为它非常简单并且与许多其他功能密切相关。但我想不出它应该叫什么。
基本上,我想要的是 _.pluck 的一个版本,它与对象一起工作并返回一个对象而不是一个数组(及其关联的键)。
因此,例如,如果我有这样的对象:
elements: {
steam: {
temperature: 100,
color: 'orange',
state: 'gas'
},
water: {
temperature: 50,
color: 'blue',
state: 'liquid'
},
ice: {
temperature: 0,
color: 'white',
state: 'solid'
}
}
我想打电话_.something(elements, 'temperature')
让它回来
{
steam: 100,
water: 50,
ice: 0
}
而不是_.pluck(elements, 'temperature')
哪个返回
[100, 50, 0]
这种转换叫什么?它是否已经包含在下划线中?我自己用 jQuery 的 each 循环编写了一个快速版本,因为我比下划线(包括在下面)更熟悉 jQuery,但如果可能的话,我更喜欢使用库中的一个。
$.objPluck = function(obj, key) {
var ret = {};
$.each(obj, function(k, value) {
ret[k] = value[key];
});
return ret;
}