javascript - 将数组排序为具有键和值对的对象,具有相同值的对象被插入相同的键/值

标签 javascript lodash

我想将一个数组排序为具有键值对的对象。

所以如果我有一个像这样的数组 [1,2,3,2,4,1,5,1,6] 它应该吐出这样的东西。我正在尝试使用 lodash!

{
  1: [1, 1, 1],
  2: [2, 2],
  3: [3],
  4: [4],
  5: [5],
  6: [6]
}

最佳答案

您可以使用 reduce()并返回对象。

var ar = [1, 2, 3, 2, 4, 1, 5, 1, 6];
var result = ar.reduce(function(o, e) {
  o[e] = (o[e] || []).concat(e);
  return o;
}, {});

console.log(result)

关于javascript - 将数组排序为具有键和值对的对象,具有相同值的对象被插入相同的键/值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37971114/

相关文章:

javascript - 使用 AngularJS 和 Lodash 将数组转换为字符串

javascript - 尝试根据子属性对对象键进行排序

javascript - 如何将多维数组转换为二维数组?

javascript - 数组连接中断标记显示为文本

javascript - Vue - 同时使用具有多个配置和不同名称的同一个插件?

javascript - 如何在 nodejs 中渲染 doT.js 模板?

javascript - 为什么这个 javascript 对象会被操纵?

javascript - 如何对受控输入进行去抖处理?

javascript通过相同的键查找对象并将它们合并

javascript - 检查表单中所有复选框的状态