【发布时间】:2018-07-31 19:27:56
【问题描述】:
我有一个带有国家代码的嵌套对象。我需要根据条件使用lodash获取对应的货币属性。
我是 lodash 的新手,不确定我可以在这里使用哪种方法。
例如, 当我为 countryCode 'AU' 搜索相应的货币时,它应该返回 'AUD'。
目前,我得到了整个对象。
我该如何完成这项工作?
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>
电流输出: {AU:{…},ZA:{…},JP:{…}}
期望的输出:
['AUD', 'ZAR', 'JP']
代码如下:
【问题讨论】:
标签: javascript object ecmascript-6 nested lodash