javascript - 获取_.groupBy的值

标签 javascript underscore.js

我的 JavaScript 有问题。代码如下:

var myDB = [
    { xCounter: 'positive', day: 'first' }, 
    { xCounter: 'positive', day: 'second' }
];

var days = _.groupBy(myDB, 'day');

如何获得“天”的第一个、第二个、第三个...值?

谢谢!

最佳答案

根据您给出的示例:

var myDB =  [{ "xCounter": "positive", "day": "first" }, { "xCounter": "positive", "day": "second" }];

使用 groupBy 方法,您将在 days 变量中获得以下结果:

{
  first: [{ "xCounter": "positive", "day": "first" }],
  second: [{ "xCounter": "positive", "day": "second" }]
}

要查看此结果,您可以使用以下代码片段:

for (var day in days) {
  if (days.hasOwnProperty(day)) {
    // do something with 'day' (which will take tha values 'first' and 'second')
    // and 'days[day]' (which is an array of {xCounter: X, day: Y} objects)
  }
}

PS:如果可能的话,我建议使用 Lodash 而不是 Underscore ( https://lodash.com/docs/4.16.1#groupBy ),因为 Lodash 开发更加活跃,但这是我的观点;)

关于javascript - 获取_.groupBy的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39687131/

相关文章:

javascript - 使用 _Underscore 基于另一个数组对包含对象的数组进行排序

Javascript按值将数组转换为分组对象

javascript - HTML5 flash canva 无法通过 "mouseout"函数停止我的声音

javascript - HERE Maps (JS v3) - 向信息气泡添加事件监听器

javascript - 使用 with key 将数组转换为对象

javascript - 下划线js在使用 `0`时过滤掉 ''值

javascript - 与 BackboneJS 一起使用时,我应该使用 Lo-Dash 的 Underscore 兼容版本吗?

javascript - 将回车键聚焦到特定按钮

javascript - 相等运算符为什么 === 会导致未定义的异常,而 == 按预期工作?

javascript - Three.js - 使用缓冲区几何形状没有性能提升