javascript - 使用低破折号/下划线从 _.pluck 获取对象

标签 javascript underscore.js lodash

我有一个结构如下的对象:

var my_object = {
  first_item: {important_number: 4},
  second_item: {important_number: 6},
}

但是,我想要一个结构如下的对象:

{
  first_item: 4,
  second_item: 6,
}

我本来希望能够用 _.pluck 得到这个结果:

_.pluck(my_object, "important_number")

但这给了我:

[0: 4, 1: 6]

很好,但我需要对象的实际名称。我摆弄了一下,最后得到了这个:

_.reduce(my_object, function(memo, val, key) {
  memo[key] = val.content;
  return memo;
}, {});

它具有预期的效果,但并不像我想要的那么简单。在 underscore/lodash 中是否有更好的解决方案,或者这是最好的解决方案?

最佳答案

在 Lo-Dash 中你也可以使用 _.transform ,一个更强大的替代 _.reduce :

_.transform(my_object, function(memo, val, key) {
  memo[key] = val.important_number;
});

关于javascript - 使用低破折号/下划线从 _.pluck 获取对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18632841/

相关文章:

javascript - Angular : Promise dependant on other promises in routing

javascript - 跟踪 ReactJS 应用程序

javascript - 打破_.each循环

JavaScript bool 数组运算

javascript - 获取修改后元素的计算宽度

javascript - 如何在 javascript/jquery/underscore 中将数组减少到特定数量?

javascript - 使用 Underscore 将嵌套 JSON 展平为键控值数组

javascript - Lo-Dash - 帮助我理解为什么 _.pick 不能按我期望的方式工作

javascript - 如何在带有 debounce 的方法中访问事件对象 - Vue

javascript - Lodash 从 bool 属性等于 true 的对象数组中检索项目的索引