Javascript 如何通过子元素的值查找键?

Javascript 如何通过子元素的值查找键?,javascript,json,search,Javascript,Json,Search,我的JSON文件(countries_numbers.JSON): 现在我想在这个JSON文件中搜索一个值。诸如此类: 搜索:countryPrefix=“226”△找到时返回:“BF”否则返回“false” 我希望你知道我想做什么。对于这个糟糕的问题,我对JavaScript完全陌生 PS:我已经在谷歌上搜索过了,但什么也没找到。一种可能的方法: const国家={ “AF”:{ “国家名称”:“阿富汗”, “countryPrefix”:“93” }, “AL”:{ “国家名称”:“阿尔巴

我的JSON文件(countries_numbers.JSON):

现在我想在这个JSON文件中搜索一个值。诸如此类:

搜索:countryPrefix=“226”△找到时返回:“BF”否则返回“false”

我希望你知道我想做什么。对于这个糟糕的问题,我对JavaScript完全陌生

PS:我已经在谷歌上搜索过了,但什么也没找到。

一种可能的方法:

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"
  }
}