I'm trying to create a function oo() that will extract the appropriate values from a JSON objects onclick to be passed to an API call. I've organized the data into local variables and when using hasOwnProperty can successfully iterate through it to return values that match the argument. The next step is identifying if keys inside those parameters in an object match the argument x and if so returning their value and the id value of the commiittee object they fall under. (I have a feeling my terminology is off here).

Let me try and be clearer. Referring to the data below, when the name of a subcommittee is passed through the function I'd like the value of the matching parameter to return as well as the id of the committee object that it falls under. For example, if oo('Elections') I need to access both the id parameter value "HSHA" and either "HSHA01" or "HSHA08" and have them plugged in to the API URL like this:

'https://api.propublica.org/congress/v1/116/senate/committees/HSHA/subcommittees/HSHA01.json'

Here's what I've tried so far

//Converting for the ID of and Finding Committee & Subcommittee data
function oo(x) {

  var housecommittees = {
  "Committee on Administration":  {
    "id":  "HSHA",
    "subcommittees": {  
      "Elections": "HSHA01",
      "Elections": "HSHA08",
    },
  },

  "Committee on Agriculture": {
    "id":"HSAG",
    "subcommittees": {
      "Nutrition, Oversight, and Department Operations": "HSAG03",
      "General Farm Commodities and Risk Management": "HSAG16",
      "Conservation and Forestry": "HSAG15",
      "Commodity Exchanges, Energy, and Credit": "HSAG22",
      "Livestock and Foreign Agriculture": "HSAG29",
      "Biotechnology, Horticulture, and Research": "HSAG14",
    },
  },

  "Committee on Appropriations": {
    "id": "HSAP",
    "subcommittees": {
      "Agriculture, Rural Development, Food and Drug Administration, and Related Agencies": "HSAP01",
      "Commerce, Justice, Science, and Related Agencies": "HSAP19",
      "Defense": "HSAP02",
      "Energy and Water Development, and Related Agencies": "HSAP10",
      "Financial Services and General Government": "HSAP23",
      "Homeland Security": "HSAP15",
      "Interior, Environment, and Related Agencies": "HSAP06",
      "Labor, Health and Human Services, Education, and Related Agencies": "HSAP07",
      "Legislative Branch": "HSAP24",
      "Military Construction, Veterans Affairs, and Related Agencies": "HSAP18",
      "State, Foreign Operations, and Related Programs": "HSAP04",
      "Transportation, and Housing and Urban Development, and Related Agencies": "HSAP20",
    },
  },

  "Committee on Armed Services": {
    "id": "HSAS",
    "subcommittees": {
      "Tactical Air and Land Forces": "HSAS25",
      "Military Personnel": "HSAS02",
      "Readiness": "HSAS03",
      "Seapower and Projection Forces": "HSAS28",
      "Strategic Forces": "HSAS29",
      "Intelligence and Emerging Threats and Capabilities": "HSAS26",
    },
  },

  "Committee on Education and Labor": {
    "id": "HSED",
    "subcommittees": {
    "Early Childhood, Elementary, and Secondary Education": "HSED14",
    "Health, Employment, Labor, and Pensions": "HSED02",
    "Higher Education and Workforce Investment": "HSED13",
    "Workforce Protections": "HSED10",
    "Civil Rights and Human Services": "HSED07",
    },
  },

  "Committee on Energy and Commerce": {
    "id": "HSIF",
    "subcommittees": {
      "Consumer Protection and Commerce": "HSIF17",
      "Communications and Technology": "HSIF16",
      "Energy": "HSIF03",
      "Health": "HSIF14",
      "Oversight and Investigations": "HSIF02",
      "Environment and Climate Change": "HSIF18",
    },
  },

  "Committee on Ethics": {
    "id": "HSSO",
    "subcommittees": {

    },
  },

  "Committee on Financial Services": {
    "id": "HSBA",
    "subcommittees": {
      "Investor Protection, Entrepreneurship, and Capital Markets": "HSBA16",
      "Consumer Protection and Financial Institutions": "HSBA15",
      "Housing, Community Development, and Insurance": "HSBA04",
      "Oversight and Investigations": "HSBA09",
      "National Security, International Development, and Monetary Policy": "HSBA01",
      "Diversity and Inclusion": "HSBA13",
    },
  },

  "Committee on Foreign Affairs": {
    "id": "HSFA",
    "subcommittees": {
      "Africa, Global Health, Global Human Rights, and International Organizations": "HSFA16",
      "Asia, the Pacific, and Nonproliferation": "HSFA05",
      "Europe, Eurasia, Energy, and the Environment": "HSFA14",
      "Oversight and Investigations": "HSFA17",
      "Middle East, North Africa, and International Terrorism": "HSFA13",
      "Western Hemisphere, Civilian Security, and Trade": "HSFA07",
    },
  },

  "Committee on Homeland Security": {
    "id": "HSHM",
    "subcommittees": {
      "Border Security, Facilitation, and Operations": "HSHM11",
      "Emergency Preparedness, Response, and Recovery": "HSHM12",
      "Cybersecurity, Infrastructure Protection, and Innovation": "HSHM08",
      "Intelligence and Counterterrorism": "HSHM05",
      "Oversight, Management, and Accountability": "HSHM09",
      "Transportation and Maritime Security": "HSHM07",
    },
  },

  "Committee on Natural Resources": {
    "id": "HSII",
    "subcommittees": {
      "Energy and Mineral Resources": "HSII06",
      "Fisheries, Wildlife, Oceans and Insular Affairs": "HSII22",
      "National Parks, Forests, and Public Lands": "HSII10",
      "Water, Oceans, and Wildlife": "HSII13",
      "Oversight and Investigations": "HSII15",
      "Indigenous Peoples of the United States": "HSII24",
    },
  },

  "Committee on Oversight and Reform": {
    "id": "HSGO",
    "subcommittees": {
      "Information Technology": "HSGO25",
      "Government Operations": "HSGO24",
      "National Security": "HSGO06",
      "Environment": "HSGO28",
      "Healthcare, Benefits, and Administrative Rules": "HSGO27",
      "Intergovernmental Affairs": "HSGO29",
      "Civil Rights and Civil Liberties": "HSGO02",
      "Economic and Consumer Policy": "HSGO05",
    },
  },

  "Committee on Rules": {
    "id": "HSRU",
    "subcommittees": {
      "Legislative and Budget Process": "HSRU02",
      "Rules and Organization of the House": "HSRU04",
      "Expedited Procedures": "HSRU05",
    },
  },

  "Committee on Science, Space, and Technology": {
    "id": "HSSY",
    "subcommittees": {
      "Energy": "HSSY20",
      "Investigations and Oversight": "HSSY21",
      "Space and Aeronautics": "HSSY16",
      "Research and Technology": "HSSY15",
      "Environment": "HSSY18",
    },
  },

  "Committee on Small Business": {
    "id": "HSSM",
    "subcommittees": {
      "Contracting and Infrastructure": "HSSM23",
      "Investigations, Oversight and Regulations": "HSSM24",
      "Rural Development, Agriculture, Trade and Entrepreneurship": "HSSM25",
      "Economic Growth, Tax and Capital Access": "HSSM27",
      "Innovation and Workforce Development": "HSSM26",
    },
  },

  "Committee on the Budget": {
    "id": "HSBU",
    "subcommittees": {
    },
  },
  "Committee on the Judiciary": {
    "id": "HSJU",
    "subcommittees": {
      "Constitution, Civil Rights, and Civil Justice": "HSJU10",
      "Courts, Intellectual Property, and the Internet": "HSJU03",
      "Crime, Terrorism and Homeland Security": "HSJU08",
      "Immigration and Citizenship": "HSJU01",
      "Antitrust, Commercial and Administrative Law": "HSJU05",
    },
  },

  "Committee on Transportation and Infrastructure": {
    "id": "HSPW",
    "subcommittees": {
      "Aviation": "HSPW05",
      "Coast Guard and Maritime Transportation": "HSPW07",
      "Economic Development, Public Buildings, and Emergency Management": "HSPW13",
      "Highways and Transit": "HSPW12",
      "Railroads, Pipelines, and Hazardous Materials": "HSPW14",
      "Water Resources and Environment": "HSPW02",
    },
  },

  "Committee on Veterans' Affairs": {
    "id": "HSVR",
    "subcommittees": {
      "Disability Assistance and Memorial Affairs": "HSVR09",
      "Economic Opportunity": "HSVR10",
      "Health": "HSVR03",
      "Oversight and Investigations": "HSVR08",
      "Technology Modernization": "HSVR11",
    },
  },

  "Committee on Ways and Means": {
    "id": "HSWM",
    "subcommittees": {
      "Health": "HSWM02",
      "Worker and Family Support": "HSWM03",
      "Oversight": "HSWM06",
      "Select Revenue Measures": "HSWM05",
      "Social Security": "HSWM01",
      "Trade": "HSWM04",
    },
  },

  "Permanent Select Committee on Intelligence": {
    "id": "HSIG",
    "subcommittees": {
      "Defense Intelligence and Warfighter Support": "HSIG06",
      "Oversight and Investigations": "HSIG09",
      "Counterterrorism, Counterintelligence, and Counterproliferation": "HSIG05",
      "Intelligence Modernization and Readiness": "HSIG08",
      "Department of Defense Intelligence and Overhead Architecture": "HSIG04",
      "Emerging Threats": "HSIG03",
      "National Security Agency and Cybersecurity": "HSIG02",
      "Central Intelligence Agency": "HSIG01",
      "Strategic Technologies and Advanced Research": "HSIG10",
    },
  },
  "Select Committee on the Climate Crisis": {
    "id": "HSCN",
    "subcommittees": {
    },
  },
  "Select Committee on the Modernization of Congress": {
    "id": "HSMH",
    "subcommittees": {

    },
  },
};

  var senatecommittees = {
  "Committee on Agriculture, Nutrition, and Forestry": {
      "id": "SSAF",
      "subcommittees": {
        "Commodities, Risk Management, and Trade": "SSAF13",
        "Conservation, Forestry, and Natural Resources": "SSAF14",
        "Rural Development and Energy": "SSAF15",
        "Livestock, Marketing, and Agriculture Security": "SSAF17",
        "Nutrition, Agricultural Research, and Specialty Crops": "SSAF16",
    },
  },
  "Committee on Appropriations": {
    "id": "SSAP",
    "subcommittees": {
      "Departments of Labor, Health and Human Services, and Education, and Related Agencies": "SSAP18",
      "Commerce, Justice, Science, and Related Agencies Subcommittee": "SSAP16",
      "Energy and Water Development Subcommittee": "SSAP22",
      "State, Foreign Operations, and Related Programs": "SSAP20",
      "Department of Homeland Security Subcommittee": "SSAP14",
      "Department of the Interior, Environment, and Related Agencies": "SSAP17",
      "Transportation, Housing and Urban Development, and Related Agencies": "SSAP24",
      "Legislative Branch Subcommittee": "SSAP08",
      "Agriculture, Rural Development, Food and Drug Administration, and Related Agencies": "SSAP01",
      "Department of Defense Subcommittee": "SSAP02",
      "Military Construction and Veterans Affairs, and Related Agencies": "SSAP19",
      "Financial Services and General Government": "SSAP23",
    },
  },
  "Committee on Armed Services": {
    "id":"SSAS",
    "subcommittees": {
      "Strategic Forces Subcommittee": "SSAS16",
      "Emerging Threats and Capabilities": "SSAS20",
      "Personnel": "SSAS17",
      "SeaPower Subcommittee": "SSAS13",
      "Airland Subcommittee": "SSAS14",
      "Readiness and Management Support": "SSAS15",
      "Cybersecurity": "SSAS21",
    },
  },
  "Committee on Banking, Housing, and Urban Affairs": {
    "id":"SSBK",
    "subcommittees": {
      "Securities, Insurance, and Investment": "SSBK04",
      "Housing, Transportation, and Community Development": "SSBK09",
      "Economic Policy": "SSBK12",
      "National Security and International Trade and Finance": "SSBK05",
      "Financial Institutions and Consumer Protection": "SSBK08",
    },
  },
  "Committee on Commerce, Science, and Transportation": {
    "id": "SSCM",
    "subcommittees": {
      "Communications, Technology, Innovation, and the Internet": "SSCM26",
      "Transportation and Safety": "SSCM32",
      "Security Subcommittee": "SSCM31",
      "Manufacturing, Trade, and Consumer Protection": "SSCM29",
      "Aviation and Space Subcommittee": "SSCM28",
      "Science, Oceans, Fisheries, and Weather": "SSCM30",
    },
  },
  "Committee on Energy and Natural Resources": {
    "id":"SSEG",
    "subcommittees": {
      "Public Lands, Forests, and Mining": "SSEG03",
      "National Parks": "SSEG04",
      "Water and Power Subcommittee": "SSEG07",
      "Energy": "SSEG01",
    },
  },
  "Committee on Environment and Public Works": {
    "id":"SSEV",
    "subcommittees": {
      "Fisheries, Water, and Wildlife": "SSEV15",
      "Superfund, Waste Management, and Regulatory Oversight": "SSEV09",
      "Clean Air and Nuclear Safety": "SSEV10",
      "Green Jobs and the New Economy": "SSEV16",
      "Transportation and Infrastructure": "SSEV08",
      "Oversight": "SSEV18",
    },
  },
  "Committee on Finance": {
    "id": "SSFI",
    "subcommittees": {
      "International Trade, Customs, and Global Competitiveness": "SSFI13",
      "Energy, Natural Resources, and Infrastructure": "SSFI12",
      "Fiscal Responsibility and Economic Growth": "SSFI14",
      "Health Care": "SSFI10",
      "Social Security, Pensions, and Family Policy": "SSFI02",
      "Taxation and IRS Oversight": "SSFI11",
    },
  },
  "Committee on Foreign Relations": {
  "id": "SSFR",
  "subcommittees": {
    "International Development and Foreign Assistance, Economic Affairs, International Environmental Protection, and Peace Corps": "SSFR12",
    "International Operations and Organizations, Human Rights, Democracy, and Global Women's Issues": "SSFR13",
    "Africa and Global Health Policy: SSFR09 Europe and Regional Security Cooperation": "SSFR01",
    "East Asia, the Pacific, and International Cybersecurity Policy": "SSFR02",
    "Near East, South Asia, Central Asia, and Counterterrorism": "SSFR07",
    "Western Hemisphere, Transnational Crime, Civilian Security, Democracy, Human Rights, and Global Women's Issues": "SSFR06",
    "State Department and USAID Management, International Operations, and Bilateral International Development": "SSFR14",
    "Multilateral International Development, Multilateral Institutions, and International Economic, Energy, and Environmental Policy": "SSFR15",
    },
  },
  "Committee on Health, Education, Labor, and Pensions": {
    "id":"SSHR",
    "subcommittees": {
      "Children and Families: SSHR09 Employment and Workplace Safety": "SSHR11",
      "Primary Health and Retirement Security": "SSHR12",
    },
  },
  "Committee on Homeland Security and Governmental Affairs": {
    "id":"SSGA",
    "subcommittees": {
      "Permanent Subcommittee on Investigations": "SSGA01",
      "Financial and Contracting Oversight": "SSGA15",
      "Emergency Management, Intergovernmental Relations, and the District of Columbia": "SSGA17",
      "the Efficiency and Effectiveness of Federal Programs and the Federal Workforce": "SSGA16",
      "Regulatory Affairs and Federal Management": "SSGA19",
      "Federal Spending Oversight and Emergency Management": "SSGA18",
    },
  },
  "Committee on Indian Affairs": {
    "id": "SLIA",
  },

  "Committee on Rules and Administration": {
    "id": "SSRA",
  },

  "Committee on Small Business and Entrepreneurship": {
    "id": "SSSB",
  },

  "Committee on the Budget": {
    "id": "SSBU",
  },

  "Committee on the Judiciary": {
    "id": "SSJU",
  },

  "Committee on Veterans' Affairs": {
    "id": "SSVA",
  },

  "Select Committee on Ethics": {
    "id": "SLET",
  },

  "Select Committee on Intelligence": {
    "id": "SLIN",
  },

  "Special Committee on Aging": {
    "id": "SPAG",
  },

  "United States Caucus on International Narcotics Control": {
    "id": "SCNC",
  },
};

    if (senatecommittees.hasOwnProperty(x)) {
      console.log('Senate Committee match for '+ x + ': '+senatecommittees[x].id );
    } else {
      console.log('Not a Senate Committee');
      for (h=0; h<=senatecommittees.length; h++) {
        for (y=o; y<=senatecommittees.subcommittees; y++) {
          if (subcommittees[y].hasOwnProperty(x)) {
            console.log('Match found for senate subcommittee '+senatecommittees[h]+ ': '+senatecommittees[h].subcommittees[x] );
            $.ajax({
              url: 'https://api.propublica.org/congress/v1/116/senate/committees/'+senatecommittees[h].id+'/subcommittees/'+subcommittees[y]+'.json',
              type: 'GET',
              dataType: 'json',
              headers: {'X-API-Key': 'xxx'}

            })

          } else {
            console.log('Not a senate subcommittee');
          }
        }
      }
    } 
    if (housecommittees.hasOwnProperty(x)) {
      console.log('House Committee match for '+x+': '+housecommittees[x].id);
    } else {
      console.log('Not a House Committee');
    }

};

I've included the API call inside the function just to provide an idea of the hopeful result. All that I'm getting logged to the console now when the name of a subcommittee is passed through the function is "Not a Senate Committee" and "Not a House Committee"

0 Answers