【问题标题】:lodash indexBy with not uniq keyslodash indexBy 没有唯一键
【发布时间】:2015-01-11 14:04:05
【问题描述】:

如何使用非 uniq 键索引数组。我尝试使用 lodash indexBy,但它没有给出预期的结果。

var keys = [
  { 'dir': 'left', 'code': 97 },
  { 'dir': 'left', 'code': 100 },
  { 'dir': 'right', 'code': 50 },
  { 'dir': 'right', 'code': 51 }
];
var a = _.indexBy(keys, 'dir');

结果:

{ left: { dir: 'left', code: 100 },
  right: { dir: 'right', code: 51 } }

预期结果:

{ left: [{ dir: 'left', code: 100 }, { 'dir': 'left', 'code': 97 }],
  right: [{ dir: 'right', code: 51 }, { 'dir': 'right', 'code': 50 }] }

【问题讨论】:

标签: javascript node.js underscore.js lodash


【解决方案1】:

您需要为此使用_.groupBy,就像这样

console.log(_.groupBy(keys, 'dir'));

会打印

{ left: [ { dir: 'left', code: 97 }, { dir: 'left', code: 100 } ],
  right: [ { dir: 'right', code: 50 }, { dir: 'right', code: 51 } ] }

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-07-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-10-31
    • 1970-01-01
    • 2017-05-16
    • 1970-01-01
    相关资源
    最近更新 更多