javascript - 使用 lodash 对数组对象重新排序

标签 javascript lodash

我想重新排序这个数组:

[{ a: "v1", b: "v2"} , {a: "v3", b: "v4"}]

对此:

{a: ["v1", "v3"] , b: ["v2", "v4"]}

注意:需要保证顺序,第一个数组元素应该是每个key对象中数组值的第一个元素

最佳答案

纯js解决方案,使用Array#forEachObject.keys

var arr = [{ a: "v1", b: "v2"} , {a: "v3", b: "v4"}],
    obj = {};
    
    arr.forEach(c => Object.keys(c).forEach(function(v){
      (obj[v] || (obj[v] = [])).push(c[v]);
    }));
    
    console.log(obj);
        

关于javascript - 使用 lodash 对数组对象重新排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43032059/

相关文章:

javascript - 如何在 JavaScript 中向 SVG 对象添加过滤器?

c# - 如何使用javascript将文本框数据保存到文件

javascript - 生成包含值及其兄弟值和父值的 HTML 表行

javascript - PHP - 缓存 JavaScript

javascript - 谁能解释一下这个 session 存储代码吗?

javascript - IE 11(使用 JavaScript、JSF )的日期选择器问题在刷新后可以工作,但在刷新之前却不能

javascript - Lodash 是否捆绑/包含 Underscore?

javascript - 避免 lodash 导入整个库并避免 _ 导致整个库加载

javascript - Json对象: Group by on 2nd level attribute

typescript - 如何在 TypeScript 中使用 lodash.mixin