Javascript 如何通过子元素的值查找键?
我的JSON文件(countries_numbers.JSON): 现在我想在这个JSON文件中搜索一个值。诸如此类: 搜索:countryPrefix=“226”△找到时返回:“BF”否则返回“false” 我希望你知道我想做什么。对于这个糟糕的问题,我对JavaScript完全陌生 PS:我已经在谷歌上搜索过了,但什么也没找到。一种可能的方法:Javascript 如何通过子元素的值查找键?,javascript,json,search,Javascript,Json,Search,我的JSON文件(countries_numbers.JSON): 现在我想在这个JSON文件中搜索一个值。诸如此类: 搜索:countryPrefix=“226”△找到时返回:“BF”否则返回“false” 我希望你知道我想做什么。对于这个糟糕的问题,我对JavaScript完全陌生 PS:我已经在谷歌上搜索过了,但什么也没找到。一种可能的方法: const国家={ “AF”:{ “国家名称”:“阿富汗”, “countryPrefix”:“93” }, “AL”:{ “国家名称”:“阿尔巴
const国家={
“AF”:{
“国家名称”:“阿富汗”,
“countryPrefix”:“93”
},
“AL”:{
“国家名称”:“阿尔巴尼亚”,
“countryPrefix”:“355”
}
//其余的剪短了
}
const getCodeByPrefix=前缀=>
Object.keys(countries).find(代码=>countries[code].countryPrefix==前缀);
console.log(getCodeByPrefix('93'));//空军
console.log(getCodeByPrefix('193'));//未定义的
一种可能的方法:
const国家={
“AF”:{
“国家名称”:“阿富汗”,
“countryPrefix”:“93”
},
“AL”:{
“国家名称”:“阿尔巴尼亚”,
“countryPrefix”:“355”
}
//其余的剪短了
}
const getCodeByPrefix=前缀=>
Object.keys(countries).find(代码=>countries[code].countryPrefix==前缀);
console.log(getCodeByPrefix('93'));//空军
console.log(getCodeByPrefix('193'));//未定义的
虽然raina77ow可能回答了你的问题,但我想我可以分享另一种方法
for(json中的var键){
if(json.hasOwnProperty(key)){
如果(json[键]['countryPrefix']==226){
//做事
}
}
}
虽然raina77ow可能回答了你的问题,但我想我可以分享另一种方法
for(json中的var键){
if(json.hasOwnProperty(key)){
如果(json[键]['countryPrefix']==226){
//做事
}
}
}
{
"AF": {
"countryName": "Afghanistan",
"countryPrefix": "93"
},
"AL": {
"countryName": "Albania",
"countryPrefix": "355"
},
"DZ": {
"countryName": "Algeria",
"countryPrefix": "213"
},
"AS": {
"countryName": "American Samoa",
"countryPrefix": "1"
},
"AD": {
"countryName": "Andorra",
"countryPrefix": "376"
},
"AO": {
"countryName": "Angola",
"countryPrefix": "244"
},
"AI": {
"countryName": "Anguilla",
"countryPrefix": "1"
},
"AG": {
"countryName": "Antigua",
"countryPrefix": "1"
},
"AR": {
"countryName": "Argentina",
"countryPrefix": "54"
},
"AM": {
"countryName": "Armenia",
"countryPrefix": "374"
},
"AW": {
"countryName": "Aruba",
"countryPrefix": "297"
},
"AU": {
"countryName": "Australia",
"countryPrefix": "61"
},
"AT": {
"countryName": "Austria",
"countryPrefix": "43"
},
"AZ": {
"countryName": "Azerbaijan",
"countryPrefix": "994"
},
"BH": {
"countryName": "Bahrain",
"countryPrefix": "973"
},
"BD": {
"countryName": "Bangladesh",
"countryPrefix": "880"
},
"BB": {
"countryName": "Barbados",
"countryPrefix": "1"
},
"BY": {
"countryName": "Belarus",
"countryPrefix": "375"
},
"BE": {
"countryName": "Belgium",
"countryPrefix": "32"
},
"BZ": {
"countryName": "Belize",
"countryPrefix": "501"
},
"BJ": {
"countryName": "Benin",
"countryPrefix": "229"
},
"BM": {
"countryName": "Bermuda",
"countryPrefix": "1"
},
"BT": {
"countryName": "Bhutan",
"countryPrefix": "975"
},
"BO": {
"countryName": "Bolivia",
"countryPrefix": "591"
},
"BA": {
"countryName": "Bosnia and Herzegovina",
"countryPrefix": "387"
},
"BW": {
"countryName": "Botswana",
"countryPrefix": "267"
},
"BR": {
"countryName": "Brazil",
"countryPrefix": "55"
},
"IO": {
"countryName": "British Indian Ocean Territory",
"countryPrefix": "246"
},
"VG": {
"countryName": "British Virgin Islands",
"countryPrefix": "1"
},
"BN": {
"countryName": "Brunei",
"countryPrefix": "673"
},
"BG": {
"countryName": "Bulgaria",
"countryPrefix": "359"
},
"BF": {
"countryName": "Burkina Faso",
"countryPrefix": "226"
},
"MM": {
"countryName": "Burma Myanmar",
"countryPrefix": "95"
}
}