反转并合并一个对象数组

时间:2016-03-02 23:07:05

标签: javascript underscore.js lodash

我想反转一个对象数组,然后合并它们。

before = [{a: 1, b: 2}, {a: 3, b: 4}]

预期结果:

after = {1: 'a', 2: 'b', 3: 'a', 4: 'b'}

你会怎么做?用下划线/ lodash?

3 个答案:

答案 0 :(得分:2)

使用lodash,如果你使用链接,你可以使它更具可读性。

jS M Y

答案 1 :(得分:1)

var before = [{a: 1, b: 2}, {a: 3, b: 4}];
var after = {};

before.forEach(function(e) {
    Object.keys(e).forEach(function(k) {
        after[e[k]] = k;
    });
});

console.log(after);//{ '1': 'a', '2': 'b', '3': 'a', '4': 'b' }

答案 2 :(得分:0)

使用下划线/ lodash:

_.extend.apply(this,_.map(data,_.invert))