lodash машинописный способ поиска и группировки общих и разных массивов объектов - PullRequest
0 голосов
/ 06 февраля 2019
 var myData =[
      {
        "dc": 1,
        "effDate": "1/2/2019",
        "expDate": "1/2/2019",
        "rate": 1,
        "minCharge": 2
      },
      {
        "dc": 1,
        "effDate": "1/2/2019",
        "expDate": "1/2/2019",
        "rate": 2,
        "minCharge": 6
      },
      {
        "dc": 1,
        "effDate": "1/2/2019",
        "expDate": "1/2/2019",
        "rate": 4,
        "minCharge": 7
      }
    ];



var expectedResult=[
      {
        "dc": 1,
        "effDate": "1/2/2019",
        "expDate": "1/2/2019",
        "rateCharge": [
          {
            "rate": 1,
            "minCharge": 2
          },
          {
            "rate": 2,
            "minCharge": 6
          },
          {
            "rate": 4,
            "minCharge": 7
          }
        ]
      }
    ];

попробовал lodash groupBy вместе с уникальным, но не смог создать новый объект.myData содержит массив объектов с одинаковыми значениями dc, effDate и expDate, поэтому мне нужно поместить их как плоские в Object, и [rate, minCharge] они всегда будут разными, поэтому мне нужно поместить их под ключом rateCharge.Я пробовал следующий код в машинописной угловой, не получая ожидаемых результатов

    import {groupBy,chain,zip,toPairs} from 'lodash';

    var myData =[
      {
        "dc": 1,
        "effDate": "1/2/2019",
        "expDate": "1/2/2019",
        "rate": 1,
        "minCharge": 2
      },
      {
        "dc": 1,
        "effDate": "1/2/2019",
        "expDate": "1/2/2019",
        "rate": 2,
        "minCharge": 6
      },
      {
        "dc": 1,
        "effDate": "1/2/2019",
        "expDate": "1/2/2019",
        "rate": 4,
        "minCharge": 7
      }
    ];

i have tried the following way 

    var result = chain(myData)
        .groupBy('effDate')
        .map((data, x) => ({ data }))
        .value();
    console.log(JSON.stringify(result,null,2));

https://stackblitz.com/edit/lodash-error-dqxytw?file=index.ts

...