根据嵌套对象键的值筛选JSON



我有一个巨大的JSON文件,需要根据嵌套对象的一些键值来筛选它。JSON文件基本上如下所示:

{
"Card One": {
"colors": ["G", "R"],
"layout": "normal",
"leadershipSkills": {"brawl": false, "commander": true},
///etc
},
"Card Two": {...},
"Card Three": {...},
/// etc
}

如何筛选该对象中的每个键/值对,只查找"commander": true所在的对?

我提供了一个使用Object.keys()的解决方案并对其进行迭代,等待看到更优雅的解决方案

let data =
{
"Card One": {
"colors": ["G", "R"],
"layout": "normal",
"leadershipSkills": {"brawl": false, "commander": true}
},
"Card Two": {
"colors": ["G", "R"],
"layout": "normal",
"leadershipSkills": {"brawl": false, "commander": false}
},
"Card Three": {
"colors": ["G", "R"],
"layout": "normal",
"leadershipSkills": {"brawl": false, "commander": false}
}
}
let keys = Object.keys(data)
let result ={}
keys.forEach(k => {
if(data[k].leadershipSkills.commander){
result[k] = data[k]
}
})
console.log(result)

最新更新