如何以lodash方式转置集合?

时间:2019-05-22 15:14:47

标签: javascript object lodash

我确实有这样的收藏集:

{
    a: {
        x: 1,
        y: 2,
    },
    b: {
        x: 3,
        y: 4,
    }
}

我想这样转置:

{
    x: {
        a: 1,
        b: 2,
    },
    y: {
        a: 3,
        b: 4,
    }
}

今天我正在使用

var result = {};
for (var c in value)
  for (var r in value[c]) 
    result[r][c] = value[c][r];
return result;

但是做这件事的“ lodash方法”是什么?

1 个答案:

答案 0 :(得分:1)

如果您确实想使用Lodash,可以使用_.forOwn

const value = {a:{x:1,y:2},b:{x:3,y:4}};
let result = {};
_.forOwn(value, (v, c) => _.forOwn(v, (w, r) => (result[r] = result[r] || {})[c] = w));
console.log(result);
<script src="https://cdnjs.cloudflare.com/ajax/libs/lodash.js/4.17.11/lodash.js"></script>