【问题标题】:How transpose collection in a lodash way?如何以 lodash 的方式转置集合?
【发布时间】:2019-05-22 15:14:47
【问题描述】:

我确实有这样的收藏:

{
    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 方式”是什么?

【问题讨论】:

    标签: javascript object lodash


    【解决方案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>

    【讨论】:

      猜你喜欢
      • 2016-04-22
      • 1970-01-01
      • 2016-02-25
      • 1970-01-01
      • 2018-08-06
      • 2019-01-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多