【问题标题】:Typescript :: Lodash :: Arrays <-> Object for fast lookupTypescript :: Lodash :: Arrays <-> Object 用于快速查找
【发布时间】:2016-11-25 19:01:04
【问题描述】:

我有两个类 MyObjectMyObjectJSON,以及用于在两者之间转换的辅助方法:myObj.toJSON()MyObject.fromJSON()

现在,我需要在上述类的 2 个构造之间进行转换。

  1. MyObject 实例的映射,其键等于 id: { [id: number]: MyObject }
  2. MyObjectJSON 实例列表:MyObjectJSON[]

如何在这两种结构之间进行转换?我正在使用lodash

【问题讨论】:

    标签: typescript lodash


    【解决方案1】:
    let mapA: { [id: number]: MyObject } = {};
    mapA[obj1.id] = obj1;
    mapA[obj2.id] = obj2;
    mapA[obj3.id] = obj3;
    // {
    //   1: MyObject,
    //   2: MyObject,
    //   3: MyObject
    // }
    
    let mapB: { [id: number]: MyObjectJSON };
    mapB = lodash.mapValues<MyObject, MyObjectJSON>(mapA, it => it.toJSON());
    // {
    //   1: MyObjectJSON,
    //   2: MyObjectJSON,
    //   3: MyObjectJSON
    // }
    
    let listB: MyObjectJSON[];
    listB = lodash.map<MyObject, MyObjectJSON>(mapA, it => it.toJSON());
    // [ MyObjectJSON, MyObjectJSON, MyObjectJSON ]
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-11-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多