I've a nested object with a country code. I need to fetch the corresponding currency property using lodash based on the condition.
I'm a newbie to lodash and not sure which method can I use here.
For e.g., When I search for corresponding currencies for the countryCode 'AU', it should return 'AUD'.
Currently, I get the entire object.
How do I get this done?
var myJSON = {
"countryCode": {
"Australia": "AU",
"United States": "US",
"Britain": "GB",
"Japan": "JP",
"India": "IND",
"France": "FR",
"Russia": "RS"
},
"countries": {
"AE": {
"currencies": {
"AED": {
"isDefault": true
}
}
},
"AL": {
"currencies": {
"ALL": {
"isDefault": true
}
}
},
"AU": {
"currencies": {
"AUD": {
"isDefault": true
}
}
},
"US": {
"currencies": {
"USD": {
"isDefault": true
}
}
},
"GB": {
"currencies": {
"EUR": {
"isDefault": true
}
}
},
"FR": {
"currencies": {
"EUR": {
"isDefault": true
}
}
},
"JP": {
"currencies": {
"JPY": {
"isDefault": true
}
}
},
"RS": {
"currencies": {
"RSD": {
"isDefault": false
}
}
},
"ZA": {
"currencies": {
"ZAR": {
"isDefault": true
}
}
}
}
};
function getData() {
var countryCode = ['AU', 'ZA', 'JP'];
console.log(_.pick(myJSON.countries, countryCode));
console.log(_.values(_.pick(myJSON.countries, countryCode)));
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/lodash.js/4.17.5/lodash.core.js"></script>
<button onclick="getData()">Get Data</button>
Current Output: {AU: {…}, ZA: {…}, JP: {…}}
Desired Output:
['AUD', 'ZAR', 'JP']
Here's the code: