gpt4 book ai didi

javascript - 使用 lodash 获取嵌套对象属性

转载 作者:行者123 更新时间:2023-11-30 11:23:32 25 4
gpt4 key购买 nike

我有一个带有国家代码的嵌套对象。我需要根据条件使用 lodash 获取相应的货币属性。

我是 lodash 的新手,不确定我可以在这里使用哪种方法。

例如,当我搜索国家代码“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:{...}}

期望的输出:

['澳元', '南非兰特', '日元']

代码如下:

最佳答案

lodash 的实现方式如下所示:

function getData() {
var countryCode = ['AU', 'ZA', 'JP'];
console.log(
_(myJSON.countries)
.pick(countryCode)
.values()
.map(function(value) { return _.keys(value.currencies)[0]; })
.value()
);
}

关于javascript - 使用 lodash 获取嵌套对象属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48902131/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com