Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Iterating over JSON put results into an Array

I have a JSON Object from a REST API like this:

{
  success: true,
  message: "",
  result: [{
      Currency: "GBP",
      IsActive: true,
      BaseAddress: "1N52wHoVR79PMDishab2XmRHsbekCdGquK",
      Notice: null
    },
    {
      Currency: "USD",
      IsActive: true,
      BaseAddress: "LhyLNfBkoKshT7R8Pce6vkB9T2cP2o84hx",
      Notice: null
    },
    {
      Currency: "YEN",
      IsActive: true,
      BaseAddress: "D9GqmkGCpgtnXP7xMD78v9xfqeDkqBZBMT",
      Notice: null
    }
  ]
};

I just want a list of the Currency values so am iterating over it like this:

var data = body.result;
for (var i in data) {
  var id = data[i].Currency;
  console.log(id)
}

Console prints ok:

GDP
USD
YEN

But I want to put these strings into a new Array and can't figure out how to do it. Any ideas?

like image 848
bitcoder.io Avatar asked Jan 19 '26 10:01

bitcoder.io


1 Answers

Simply use the Array#Map function:

const data = {
  success: true,
  message: "",
  result: [{
      Currency: "GBP",
      IsActive: true,
      BaseAddress: "1N52wHoVR79PMDishab2XmRHsbekCdGquK",
      Notice: null
    },
    {
      Currency: "USD",
      IsActive: true,
      BaseAddress: "LhyLNfBkoKshT7R8Pce6vkB9T2cP2o84hx",
      Notice: null
    },
    {
      Currency: "YEN",
      IsActive: true,
      BaseAddress: "D9GqmkGCpgtnXP7xMD78v9xfqeDkqBZBMT",
      Notice: null
    },
    {
      Currency: "YEN",
      IsActive: true,
      BaseAddress: "D9GqmkGCpgtnXP7xMD78v9xfqeDkqBZBMT",
      Notice: null
    }
  ]
}

const currencies = [...new Set(data.result.map(a => a.Currency))];
  
console.log(currencies);
like image 141
Erazihel Avatar answered Jan 20 '26 22:01

Erazihel