I have following json data and want to get an array of only financial_year. It has to be only unique years.
var data = [{"financial_year": 2017, "revenue": 2000, "costs": 1000}, {"financial_year": 2017, "revenue": 3000, "costs": 2000}, {"financial_year": 2016, "revenue": 1000, "costs": 500},{"financial_year": 2016, "revenue": 2000, "costs": 1000}, {"financial_year": 2015, "revenue": 5000, "costs": 3000}, {"financial_year": 2015, "revenue": 2000, "costs": 1000}]
I want to get an array with a list of only years. My expected output is:
[2017, 2016, 2015]
I tried to fo following:
var years = []
data.forEach((val, index) => {
years.push(val.financial_year)
});
var lis_of_years = Array.from(new Set(years))
But for some weird reason, I'm getting two arrays when I console.log(lis_of_years). Could you please check what am I doing wrong here?
You could use ES6 Set class to get the unique values.
[... new Set(data.map(a=>a.financial_year))]
var data = [{"financial_year": 2017, "revenue": 2000, "costs": 1000}, {"financial_year": 2017, "revenue": 3000, "costs": 2000}, {"financial_year": 2016, "revenue": 1000, "costs": 500},{"financial_year": 2016, "revenue": 2000, "costs": 1000}, {"financial_year": 2015, "revenue": 5000, "costs": 3000}, {"financial_year": 2015, "revenue": 2000, "costs": 1000}]
console.log([... new Set(data.map(a=>a.financial_year))])
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With