-5

I want to add a property contract_num to the resulting object.How can I do that?

var clients = [
  {
    "id_client": "164905",
    "id_contract": "123"
  },
  {
    "id_client": "164906",
    "id_contract": "128"
  },
  {
    "id_client": "164907",
    "id_contract": "123"
  }
]

var contracts = [
  {"id_contract": "123", "contract_num": "879469"},
  {"id_contract": "128", "contract_num": "333469"}
]

The result should be like this

      {
        "id_client": "164905",
        "id_contract": "123"
        "contract_num": "879469"
      },
      {
        "id_client": "164906",
        "id_contract": "128",
        "contract_num": "333469"
      },
      {
        "id_client": "164907",
        "id_contract": "123",
        "contract_num": "879469"
      }
Imanpal Singh
  • 1,105
  • 1
  • 12
  • 22
stiv
  • 43
  • 9

1 Answers1

0

You can do this with map:

var clients = [ { "id_client": "164905", "id_contract": "123" }, { "id_client": "164906", "id_contract": "128" }, { "id_client": "164907", "id_contract": "123" } ];

var contracts = [ {"id_contract": "123", "contract_num": "879469"},{"id_contract": "128", "contract_num": "333469"}];

var result = clients.map(val=>{
    index = contracts.find(k=>k.id_contract == val.id_contract);
    if(index) val.contract_num = index.contract_num
    return val;
});

console.log(result);
gorak
  • 5,233
  • 1
  • 7
  • 19