From 29bb42d8b965d76e37683d0b214ab925c8051085 Mon Sep 17 00:00:00 2001 From: Asabeneh Date: Mon, 13 Jan 2020 01:19:10 +0200 Subject: [PATCH] day 12 --- .gitignore | 1 - 10_Day/10_day_starter/data/countries_data.js | 2013 ++++++++++++++++++ 10_Day/10_day_starter/index.html | 17 + 10_Day/10_day_starter/scripts/main.js | 2 + 11_Day/11_day_starter/data/countries_data.js | 2013 ++++++++++++++++++ 11_Day/11_day_starter/index.html | 17 + 11_Day/11_day_starter/scripts/main.js | 2 + 11_Day/11_destructuring_and_spread.md | 5 +- 12_Day/12_day_regular_expressions.md | 500 +++++ 12_Day/12_day_starter/data/countries_data.js | 2013 ++++++++++++++++++ 12_Day/12_day_starter/index.html | 17 + 12_Day/12_day_starter/scripts/main.js | 2 + images/regex.png | Bin 0 -> 85172 bytes 13 files changed, 6599 insertions(+), 3 deletions(-) create mode 100644 10_Day/10_day_starter/data/countries_data.js create mode 100644 10_Day/10_day_starter/index.html create mode 100644 10_Day/10_day_starter/scripts/main.js create mode 100644 11_Day/11_day_starter/data/countries_data.js create mode 100644 11_Day/11_day_starter/index.html create mode 100644 11_Day/11_day_starter/scripts/main.js create mode 100644 12_Day/12_day_regular_expressions.md create mode 100644 12_Day/12_day_starter/data/countries_data.js create mode 100644 12_Day/12_day_starter/index.html create mode 100644 12_Day/12_day_starter/scripts/main.js create mode 100644 images/regex.png diff --git a/.gitignore b/.gitignore index cdf6fd93..b87aa866 100644 --- a/.gitignore +++ b/.gitignore @@ -14,7 +14,6 @@ day9.md day10.md 01_02_03_days_backup.md test.md -12_Day 13_Day 14_Day 15_Day diff --git a/10_Day/10_day_starter/data/countries_data.js b/10_Day/10_day_starter/data/countries_data.js new file mode 100644 index 00000000..92acddd2 --- /dev/null +++ b/10_Day/10_day_starter/data/countries_data.js @@ -0,0 +1,2013 @@ +const countries = [ + { + name: 'Afghanistan', + capital: 'Kabul', + languages: ['Pashto', 'Uzbek', 'Turkmen'], + population: 27657145, + flag: 'https://restcountries.eu/data/afg.svg', + currency: 'Afghan afghani' + }, + { + name: 'Åland Islands', + capital: 'Mariehamn', + languages: ['Swedish'], + population: 28875, + flag: 'https://restcountries.eu/data/ala.svg', + currency: 'Euro' + }, + { + name: 'Albania', + capital: 'Tirana', + languages: ['Albanian'], + population: 2886026, + flag: 'https://restcountries.eu/data/alb.svg', + currency: 'Albanian lek' + }, + { + name: 'Algeria', + capital: 'Algiers', + languages: ['Arabic'], + population: 40400000, + flag: 'https://restcountries.eu/data/dza.svg', + currency: 'Algerian dinar' + }, + { + name: 'American Samoa', + capital: 'Pago Pago', + languages: ['English', 'Samoan'], + population: 57100, + flag: 'https://restcountries.eu/data/asm.svg', + currency: 'United State Dollar' + }, + { + name: 'Andorra', + capital: 'Andorra la Vella', + languages: ['Catalan'], + population: 78014, + flag: 'https://restcountries.eu/data/and.svg', + currency: 'Euro' + }, + { + name: 'Angola', + capital: 'Luanda', + languages: ['Portuguese'], + population: 25868000, + flag: 'https://restcountries.eu/data/ago.svg', + currency: 'Angolan kwanza' + }, + { + name: 'Anguilla', + capital: 'The Valley', + languages: ['English'], + population: 13452, + flag: 'https://restcountries.eu/data/aia.svg', + currency: 'East Caribbean dollar' + }, + { + name: 'Antarctica', + capital: '', + languages: ['English', 'Russian'], + population: 1000, + flag: 'https://restcountries.eu/data/ata.svg', + currency: 'Australian dollar' + }, + { + name: 'Antigua and Barbuda', + capital: "Saint John's", + languages: ['English'], + population: 86295, + flag: 'https://restcountries.eu/data/atg.svg', + currency: 'East Caribbean dollar' + }, + { + name: 'Argentina', + capital: 'Buenos Aires', + languages: ['Spanish', 'Guaraní'], + population: 43590400, + flag: 'https://restcountries.eu/data/arg.svg', + currency: 'Argentine peso' + }, + { + name: 'Armenia', + capital: 'Yerevan', + languages: ['Armenian', 'Russian'], + population: 2994400, + flag: 'https://restcountries.eu/data/arm.svg', + currency: 'Armenian dram' + }, + { + name: 'Aruba', + capital: 'Oranjestad', + languages: ['Dutch', '(Eastern) Punjabi'], + population: 107394, + flag: 'https://restcountries.eu/data/abw.svg', + currency: 'Aruban florin' + }, + { + name: 'Australia', + capital: 'Canberra', + languages: ['English'], + population: 24117360, + flag: 'https://restcountries.eu/data/aus.svg', + currency: 'Australian dollar' + }, + { + name: 'Austria', + capital: 'Vienna', + languages: ['German'], + population: 8725931, + flag: 'https://restcountries.eu/data/aut.svg', + currency: 'Euro' + }, + { + name: 'Azerbaijan', + capital: 'Baku', + languages: ['Azerbaijani'], + population: 9730500, + flag: 'https://restcountries.eu/data/aze.svg', + currency: 'Azerbaijani manat' + }, + { + name: 'Bahamas', + capital: 'Nassau', + languages: ['English'], + population: 378040, + flag: 'https://restcountries.eu/data/bhs.svg', + currency: 'Bahamian dollar' + }, + { + name: 'Bahrain', + capital: 'Manama', + languages: ['Arabic'], + population: 1404900, + flag: 'https://restcountries.eu/data/bhr.svg', + currency: 'Bahraini dinar' + }, + { + name: 'Bangladesh', + capital: 'Dhaka', + languages: ['Bengali'], + population: 161006790, + flag: 'https://restcountries.eu/data/bgd.svg', + currency: 'Bangladeshi taka' + }, + { + name: 'Barbados', + capital: 'Bridgetown', + languages: ['English'], + population: 285000, + flag: 'https://restcountries.eu/data/brb.svg', + currency: 'Barbadian dollar' + }, + { + name: 'Belarus', + capital: 'Minsk', + languages: ['Belarusian', 'Russian'], + population: 9498700, + flag: 'https://restcountries.eu/data/blr.svg', + currency: 'New Belarusian ruble' + }, + { + name: 'Belgium', + capital: 'Brussels', + languages: ['Dutch', 'French', 'German'], + population: 11319511, + flag: 'https://restcountries.eu/data/bel.svg', + currency: 'Euro' + }, + { + name: 'Belize', + capital: 'Belmopan', + languages: ['English', 'Spanish'], + population: 370300, + flag: 'https://restcountries.eu/data/blz.svg', + currency: 'Belize dollar' + }, + { + name: 'Benin', + capital: 'Porto-Novo', + languages: ['French'], + population: 10653654, + flag: 'https://restcountries.eu/data/ben.svg', + currency: 'West African CFA franc' + }, + { + name: 'Bermuda', + capital: 'Hamilton', + languages: ['English'], + population: 61954, + flag: 'https://restcountries.eu/data/bmu.svg', + currency: 'Bermudian dollar' + }, + { + name: 'Bhutan', + capital: 'Thimphu', + languages: ['Dzongkha'], + population: 775620, + flag: 'https://restcountries.eu/data/btn.svg', + currency: 'Bhutanese ngultrum' + }, + { + name: 'Bolivia (Plurinational State of)', + capital: 'Sucre', + languages: ['Spanish', 'Aymara', 'Quechua'], + population: 10985059, + flag: 'https://restcountries.eu/data/bol.svg', + currency: 'Bolivian boliviano' + }, + { + name: 'Bonaire, Sint Eustatius and Saba', + capital: 'Kralendijk', + languages: ['Dutch'], + population: 17408, + flag: 'https://restcountries.eu/data/bes.svg', + currency: 'United States dollar' + }, + { + name: 'Bosnia and Herzegovina', + capital: 'Sarajevo', + languages: ['Bosnian', 'Croatian', 'Serbian'], + population: 3531159, + flag: 'https://restcountries.eu/data/bih.svg', + currency: 'Bosnia and Herzegovina convertible mark' + }, + { + name: 'Botswana', + capital: 'Gaborone', + languages: ['English', 'Tswana'], + population: 2141206, + flag: 'https://restcountries.eu/data/bwa.svg', + currency: 'Botswana pula' + }, + { + name: 'Bouvet Island', + capital: '', + languages: ['Norwegian', 'Norwegian Bokmål', 'Norwegian Nynorsk'], + population: 0, + flag: 'https://restcountries.eu/data/bvt.svg', + currency: 'Norwegian krone' + }, + { + name: 'Brazil', + capital: 'Brasília', + languages: ['Portuguese'], + population: 206135893, + flag: 'https://restcountries.eu/data/bra.svg', + currency: 'Brazilian real' + }, + { + name: 'British Indian Ocean Territory', + capital: 'Diego Garcia', + languages: ['English'], + population: 3000, + flag: 'https://restcountries.eu/data/iot.svg', + currency: 'United States dollar' + }, + { + name: 'United States Minor Outlying Islands', + capital: '', + languages: ['English'], + population: 300, + flag: 'https://restcountries.eu/data/umi.svg', + currency: 'United States Dollar' + }, + { + name: 'Virgin Islands (British)', + capital: 'Road Town', + languages: ['English'], + population: 28514, + flag: 'https://restcountries.eu/data/vgb.svg', + currency: '[D]' + }, + { + name: 'Virgin Islands (U.S.)', + capital: 'Charlotte Amalie', + languages: ['English'], + population: 114743, + flag: 'https://restcountries.eu/data/vir.svg', + currency: 'United States dollar' + }, + { + name: 'Brunei Darussalam', + capital: 'Bandar Seri Begawan', + languages: ['Malay'], + population: 411900, + flag: 'https://restcountries.eu/data/brn.svg', + currency: 'Brunei dollar' + }, + { + name: 'Bulgaria', + capital: 'Sofia', + languages: ['Bulgarian'], + population: 7153784, + flag: 'https://restcountries.eu/data/bgr.svg', + currency: 'Bulgarian lev' + }, + { + name: 'Burkina Faso', + capital: 'Ouagadougou', + languages: ['French', 'Fula'], + population: 19034397, + flag: 'https://restcountries.eu/data/bfa.svg', + currency: 'West African CFA franc' + }, + { + name: 'Burundi', + capital: 'Bujumbura', + languages: ['French', 'Kirundi'], + population: 10114505, + flag: 'https://restcountries.eu/data/bdi.svg', + currency: 'Burundian franc' + }, + { + name: 'Cambodia', + capital: 'Phnom Penh', + languages: ['Khmer'], + population: 15626444, + flag: 'https://restcountries.eu/data/khm.svg', + currency: 'Cambodian riel' + }, + { + name: 'Cameroon', + capital: 'Yaoundé', + languages: ['English', 'French'], + population: 22709892, + flag: 'https://restcountries.eu/data/cmr.svg', + currency: 'Central African CFA franc' + }, + { + name: 'Canada', + capital: 'Ottawa', + languages: ['English', 'French'], + population: 36155487, + flag: 'https://restcountries.eu/data/can.svg', + currency: 'Canadian dollar' + }, + { + name: 'Cabo Verde', + capital: 'Praia', + languages: ['Portuguese'], + population: 531239, + flag: 'https://restcountries.eu/data/cpv.svg', + currency: 'Cape Verdean escudo' + }, + { + name: 'Cayman Islands', + capital: 'George Town', + languages: ['English'], + population: 58238, + flag: 'https://restcountries.eu/data/cym.svg', + currency: 'Cayman Islands dollar' + }, + { + name: 'Central African Republic', + capital: 'Bangui', + languages: ['French', 'Sango'], + population: 4998000, + flag: 'https://restcountries.eu/data/caf.svg', + currency: 'Central African CFA franc' + }, + { + name: 'Chad', + capital: "N'Djamena", + languages: ['French', 'Arabic'], + population: 14497000, + flag: 'https://restcountries.eu/data/tcd.svg', + currency: 'Central African CFA franc' + }, + { + name: 'Chile', + capital: 'Santiago', + languages: ['Spanish'], + population: 18191900, + flag: 'https://restcountries.eu/data/chl.svg', + currency: 'Chilean peso' + }, + { + name: 'China', + capital: 'Beijing', + languages: ['Chinese'], + population: 1377422166, + flag: 'https://restcountries.eu/data/chn.svg', + currency: 'Chinese yuan' + }, + { + name: 'Christmas Island', + capital: 'Flying Fish Cove', + languages: ['English'], + population: 2072, + flag: 'https://restcountries.eu/data/cxr.svg', + currency: 'Australian dollar' + }, + { + name: 'Cocos (Keeling) Islands', + capital: 'West Island', + languages: ['English'], + population: 550, + flag: 'https://restcountries.eu/data/cck.svg', + currency: 'Australian dollar' + }, + { + name: 'Colombia', + capital: 'Bogotá', + languages: ['Spanish'], + population: 48759958, + flag: 'https://restcountries.eu/data/col.svg', + currency: 'Colombian peso' + }, + { + name: 'Comoros', + capital: 'Moroni', + languages: ['Arabic', 'French'], + population: 806153, + flag: 'https://restcountries.eu/data/com.svg', + currency: 'Comorian franc' + }, + { + name: 'Congo', + capital: 'Brazzaville', + languages: ['French', 'Lingala'], + population: 4741000, + flag: 'https://restcountries.eu/data/cog.svg', + currency: 'Central African CFA franc' + }, + { + name: 'Congo (Democratic Republic of the)', + capital: 'Kinshasa', + languages: ['French', 'Lingala', 'Kongo', 'Swahili', 'Luba-Katanga'], + population: 85026000, + flag: 'https://restcountries.eu/data/cod.svg', + currency: 'Congolese franc' + }, + { + name: 'Cook Islands', + capital: 'Avarua', + languages: ['English'], + population: 18100, + flag: 'https://restcountries.eu/data/cok.svg', + currency: 'New Zealand dollar' + }, + { + name: 'Costa Rica', + capital: 'San José', + languages: ['Spanish'], + population: 4890379, + flag: 'https://restcountries.eu/data/cri.svg', + currency: 'Costa Rican colón' + }, + { + name: 'Croatia', + capital: 'Zagreb', + languages: ['Croatian'], + population: 4190669, + flag: 'https://restcountries.eu/data/hrv.svg', + currency: 'Croatian kuna' + }, + { + name: 'Cuba', + capital: 'Havana', + languages: ['Spanish'], + population: 11239004, + flag: 'https://restcountries.eu/data/cub.svg', + currency: 'Cuban convertible peso' + }, + { + name: 'Curaçao', + capital: 'Willemstad', + languages: ['Dutch', '(Eastern) Punjabi', 'English'], + population: 154843, + flag: 'https://restcountries.eu/data/cuw.svg', + currency: 'Netherlands Antillean guilder' + }, + { + name: 'Cyprus', + capital: 'Nicosia', + languages: ['Greek (modern)', 'Turkish', 'Armenian'], + population: 847000, + flag: 'https://restcountries.eu/data/cyp.svg', + currency: 'Euro' + }, + { + name: 'Czech Republic', + capital: 'Prague', + languages: ['Czech', 'Slovak'], + population: 10558524, + flag: 'https://restcountries.eu/data/cze.svg', + currency: 'Czech koruna' + }, + { + name: 'Denmark', + capital: 'Copenhagen', + languages: ['Danish'], + population: 5717014, + flag: 'https://restcountries.eu/data/dnk.svg', + currency: 'Danish krone' + }, + { + name: 'Djibouti', + capital: 'Djibouti', + languages: ['French', 'Arabic'], + population: 900000, + flag: 'https://restcountries.eu/data/dji.svg', + currency: 'Djiboutian franc' + }, + { + name: 'Dominica', + capital: 'Roseau', + languages: ['English'], + population: 71293, + flag: 'https://restcountries.eu/data/dma.svg', + currency: 'East Caribbean dollar' + }, + { + name: 'Dominican Republic', + capital: 'Santo Domingo', + languages: ['Spanish'], + population: 10075045, + flag: 'https://restcountries.eu/data/dom.svg', + currency: 'Dominican peso' + }, + { + name: 'Ecuador', + capital: 'Quito', + languages: ['Spanish'], + population: 16545799, + flag: 'https://restcountries.eu/data/ecu.svg', + currency: 'United States dollar' + }, + { + name: 'Egypt', + capital: 'Cairo', + languages: ['Arabic'], + population: 91290000, + flag: 'https://restcountries.eu/data/egy.svg', + currency: 'Egyptian pound' + }, + { + name: 'El Salvador', + capital: 'San Salvador', + languages: ['Spanish'], + population: 6520675, + flag: 'https://restcountries.eu/data/slv.svg', + currency: 'United States dollar' + }, + { + name: 'Equatorial Guinea', + capital: 'Malabo', + languages: ['Spanish', 'French'], + population: 1222442, + flag: 'https://restcountries.eu/data/gnq.svg', + currency: 'Central African CFA franc' + }, + { + name: 'Eritrea', + capital: 'Asmara', + languages: ['Tigrinya', 'Arabic', 'English'], + population: 5352000, + flag: 'https://restcountries.eu/data/eri.svg', + currency: 'Eritrean nakfa' + }, + { + name: 'Estonia', + capital: 'Tallinn', + languages: ['Estonian'], + population: 1315944, + flag: 'https://restcountries.eu/data/est.svg', + currency: 'Euro' + }, + { + name: 'Ethiopia', + capital: 'Addis Ababa', + languages: ['Amharic'], + population: 92206005, + flag: 'https://restcountries.eu/data/eth.svg', + currency: 'Ethiopian birr' + }, + { + name: 'Falkland Islands (Malvinas)', + capital: 'Stanley', + languages: ['English'], + population: 2563, + flag: 'https://restcountries.eu/data/flk.svg', + currency: 'Falkland Islands pound' + }, + { + name: 'Faroe Islands', + capital: 'Tórshavn', + languages: ['Faroese'], + population: 49376, + flag: 'https://restcountries.eu/data/fro.svg', + currency: 'Danish krone' + }, + { + name: 'Fiji', + capital: 'Suva', + languages: ['English', 'Fijian', 'Hindi', 'Urdu'], + population: 867000, + flag: 'https://restcountries.eu/data/fji.svg', + currency: 'Fijian dollar' + }, + { + name: 'Finland', + capital: 'Helsinki', + languages: ['Finnish', 'Swedish'], + population: 5491817, + flag: 'https://restcountries.eu/data/fin.svg', + currency: 'Euro' + }, + { + name: 'France', + capital: 'Paris', + languages: ['French'], + population: 66710000, + flag: 'https://restcountries.eu/data/fra.svg', + currency: 'Euro' + }, + { + name: 'French Guiana', + capital: 'Cayenne', + languages: ['French'], + population: 254541, + flag: 'https://restcountries.eu/data/guf.svg', + currency: 'Euro' + }, + { + name: 'French Polynesia', + capital: 'Papeetē', + languages: ['French'], + population: 271800, + flag: 'https://restcountries.eu/data/pyf.svg', + currency: 'CFP franc' + }, + { + name: 'French Southern Territories', + capital: 'Port-aux-Français', + languages: ['French'], + population: 140, + flag: 'https://restcountries.eu/data/atf.svg', + currency: 'Euro' + }, + { + name: 'Gabon', + capital: 'Libreville', + languages: ['French'], + population: 1802278, + flag: 'https://restcountries.eu/data/gab.svg', + currency: 'Central African CFA franc' + }, + { + name: 'Gambia', + capital: 'Banjul', + languages: ['English'], + population: 1882450, + flag: 'https://restcountries.eu/data/gmb.svg', + currency: 'Gambian dalasi' + }, + { + name: 'Georgia', + capital: 'Tbilisi', + languages: ['Georgian'], + population: 3720400, + flag: 'https://restcountries.eu/data/geo.svg', + currency: 'Georgian Lari' + }, + { + name: 'Germany', + capital: 'Berlin', + languages: ['German'], + population: 81770900, + flag: 'https://restcountries.eu/data/deu.svg', + currency: 'Euro' + }, + { + name: 'Ghana', + capital: 'Accra', + languages: ['English'], + population: 27670174, + flag: 'https://restcountries.eu/data/gha.svg', + currency: 'Ghanaian cedi' + }, + { + name: 'Gibraltar', + capital: 'Gibraltar', + languages: ['English'], + population: 33140, + flag: 'https://restcountries.eu/data/gib.svg', + currency: 'Gibraltar pound' + }, + { + name: 'Greece', + capital: 'Athens', + languages: ['Greek (modern)'], + population: 10858018, + flag: 'https://restcountries.eu/data/grc.svg', + currency: 'Euro' + }, + { + name: 'Greenland', + capital: 'Nuuk', + languages: ['Kalaallisut'], + population: 55847, + flag: 'https://restcountries.eu/data/grl.svg', + currency: 'Danish krone' + }, + { + name: 'Grenada', + capital: "St. George's", + languages: ['English'], + population: 103328, + flag: 'https://restcountries.eu/data/grd.svg', + currency: 'East Caribbean dollar' + }, + { + name: 'Guadeloupe', + capital: 'Basse-Terre', + languages: ['French'], + population: 400132, + flag: 'https://restcountries.eu/data/glp.svg', + currency: 'Euro' + }, + { + name: 'Guam', + capital: 'Hagåtña', + languages: ['English', 'Chamorro', 'Spanish'], + population: 184200, + flag: 'https://restcountries.eu/data/gum.svg', + currency: 'United States dollar' + }, + { + name: 'Guatemala', + capital: 'Guatemala City', + languages: ['Spanish'], + population: 16176133, + flag: 'https://restcountries.eu/data/gtm.svg', + currency: 'Guatemalan quetzal' + }, + { + name: 'Guernsey', + capital: 'St. Peter Port', + languages: ['English', 'French'], + population: 62999, + flag: 'https://restcountries.eu/data/ggy.svg', + currency: 'British pound' + }, + { + name: 'Guinea', + capital: 'Conakry', + languages: ['French', 'Fula'], + population: 12947000, + flag: 'https://restcountries.eu/data/gin.svg', + currency: 'Guinean franc' + }, + { + name: 'Guinea-Bissau', + capital: 'Bissau', + languages: ['Portuguese'], + population: 1547777, + flag: 'https://restcountries.eu/data/gnb.svg', + currency: 'West African CFA franc' + }, + { + name: 'Guyana', + capital: 'Georgetown', + languages: ['English'], + population: 746900, + flag: 'https://restcountries.eu/data/guy.svg', + currency: 'Guyanese dollar' + }, + { + name: 'Haiti', + capital: 'Port-au-Prince', + languages: ['French', 'Haitian'], + population: 11078033, + flag: 'https://restcountries.eu/data/hti.svg', + currency: 'Haitian gourde' + }, + { + name: 'Heard Island and McDonald Islands', + capital: '', + languages: ['English'], + population: 0, + flag: 'https://restcountries.eu/data/hmd.svg', + currency: 'Australian dollar' + }, + { + name: 'Holy See', + capital: 'Rome', + languages: ['Latin', 'Italian', 'French', 'German'], + population: 451, + flag: 'https://restcountries.eu/data/vat.svg', + currency: 'Euro' + }, + { + name: 'Honduras', + capital: 'Tegucigalpa', + languages: ['Spanish'], + population: 8576532, + flag: 'https://restcountries.eu/data/hnd.svg', + currency: 'Honduran lempira' + }, + { + name: 'Hong Kong', + capital: 'City of Victoria', + languages: ['English', 'Chinese'], + population: 7324300, + flag: 'https://restcountries.eu/data/hkg.svg', + currency: 'Hong Kong dollar' + }, + { + name: 'Hungary', + capital: 'Budapest', + languages: ['Hungarian'], + population: 9823000, + flag: 'https://restcountries.eu/data/hun.svg', + currency: 'Hungarian forint' + }, + { + name: 'Iceland', + capital: 'Reykjavík', + languages: ['Icelandic'], + population: 334300, + flag: 'https://restcountries.eu/data/isl.svg', + currency: 'Icelandic króna' + }, + { + name: 'India', + capital: 'New Delhi', + languages: ['Hindi', 'English'], + population: 1295210000, + flag: 'https://restcountries.eu/data/ind.svg', + currency: 'Indian rupee' + }, + { + name: 'Indonesia', + capital: 'Jakarta', + languages: ['Indonesian'], + population: 258705000, + flag: 'https://restcountries.eu/data/idn.svg', + currency: 'Indonesian rupiah' + }, + { + name: "Côte d'Ivoire", + capital: 'Yamoussoukro', + languages: ['French'], + population: 22671331, + flag: 'https://restcountries.eu/data/civ.svg', + currency: 'West African CFA franc' + }, + { + name: 'Iran (Islamic Republic of)', + capital: 'Tehran', + languages: ['Persian (Farsi)'], + population: 79369900, + flag: 'https://restcountries.eu/data/irn.svg', + currency: 'Iranian rial' + }, + { + name: 'Iraq', + capital: 'Baghdad', + languages: ['Arabic', 'Kurdish'], + population: 37883543, + flag: 'https://restcountries.eu/data/irq.svg', + currency: 'Iraqi dinar' + }, + { + name: 'Ireland', + capital: 'Dublin', + languages: ['Irish', 'English'], + population: 6378000, + flag: 'https://restcountries.eu/data/irl.svg', + currency: 'Euro' + }, + { + name: 'Isle of Man', + capital: 'Douglas', + languages: ['English', 'Manx'], + population: 84497, + flag: 'https://restcountries.eu/data/imn.svg', + currency: 'British pound' + }, + { + name: 'Israel', + capital: 'Jerusalem', + languages: ['Hebrew (modern)', 'Arabic'], + population: 8527400, + flag: 'https://restcountries.eu/data/isr.svg', + currency: 'Israeli new shekel' + }, + { + name: 'Italy', + capital: 'Rome', + languages: ['Italian'], + population: 60665551, + flag: 'https://restcountries.eu/data/ita.svg', + currency: 'Euro' + }, + { + name: 'Jamaica', + capital: 'Kingston', + languages: ['English'], + population: 2723246, + flag: 'https://restcountries.eu/data/jam.svg', + currency: 'Jamaican dollar' + }, + { + name: 'Japan', + capital: 'Tokyo', + languages: ['Japanese'], + population: 126960000, + flag: 'https://restcountries.eu/data/jpn.svg', + currency: 'Japanese yen' + }, + { + name: 'Jersey', + capital: 'Saint Helier', + languages: ['English', 'French'], + population: 100800, + flag: 'https://restcountries.eu/data/jey.svg', + currency: 'British pound' + }, + { + name: 'Jordan', + capital: 'Amman', + languages: ['Arabic'], + population: 9531712, + flag: 'https://restcountries.eu/data/jor.svg', + currency: 'Jordanian dinar' + }, + { + name: 'Kazakhstan', + capital: 'Astana', + languages: ['Kazakh', 'Russian'], + population: 17753200, + flag: 'https://restcountries.eu/data/kaz.svg', + currency: 'Kazakhstani tenge' + }, + { + name: 'Kenya', + capital: 'Nairobi', + languages: ['English', 'Swahili'], + population: 47251000, + flag: 'https://restcountries.eu/data/ken.svg', + currency: 'Kenyan shilling' + }, + { + name: 'Kiribati', + capital: 'South Tarawa', + languages: ['English'], + population: 113400, + flag: 'https://restcountries.eu/data/kir.svg', + currency: 'Australian dollar' + }, + { + name: 'Kuwait', + capital: 'Kuwait City', + languages: ['Arabic'], + population: 4183658, + flag: 'https://restcountries.eu/data/kwt.svg', + currency: 'Kuwaiti dinar' + }, + { + name: 'Kyrgyzstan', + capital: 'Bishkek', + languages: ['Kyrgyz', 'Russian'], + population: 6047800, + flag: 'https://restcountries.eu/data/kgz.svg', + currency: 'Kyrgyzstani som' + }, + { + name: "Lao People's Democratic Republic", + capital: 'Vientiane', + languages: ['Lao'], + population: 6492400, + flag: 'https://restcountries.eu/data/lao.svg', + currency: 'Lao kip' + }, + { + name: 'Latvia', + capital: 'Riga', + languages: ['Latvian'], + population: 1961600, + flag: 'https://restcountries.eu/data/lva.svg', + currency: 'Euro' + }, + { + name: 'Lebanon', + capital: 'Beirut', + languages: ['Arabic', 'French'], + population: 5988000, + flag: 'https://restcountries.eu/data/lbn.svg', + currency: 'Lebanese pound' + }, + { + name: 'Lesotho', + capital: 'Maseru', + languages: ['English', 'Southern Sotho'], + population: 1894194, + flag: 'https://restcountries.eu/data/lso.svg', + currency: 'Lesotho loti' + }, + { + name: 'Liberia', + capital: 'Monrovia', + languages: ['English'], + population: 4615000, + flag: 'https://restcountries.eu/data/lbr.svg', + currency: 'Liberian dollar' + }, + { + name: 'Libya', + capital: 'Tripoli', + languages: ['Arabic'], + population: 6385000, + flag: 'https://restcountries.eu/data/lby.svg', + currency: 'Libyan dinar' + }, + { + name: 'Liechtenstein', + capital: 'Vaduz', + languages: ['German'], + population: 37623, + flag: 'https://restcountries.eu/data/lie.svg', + currency: 'Swiss franc' + }, + { + name: 'Lithuania', + capital: 'Vilnius', + languages: ['Lithuanian'], + population: 2872294, + flag: 'https://restcountries.eu/data/ltu.svg', + currency: 'Euro' + }, + { + name: 'Luxembourg', + capital: 'Luxembourg', + languages: ['French', 'German', 'Luxembourgish'], + population: 576200, + flag: 'https://restcountries.eu/data/lux.svg', + currency: 'Euro' + }, + { + name: 'Macao', + capital: '', + languages: ['Chinese', 'Portuguese'], + population: 649100, + flag: 'https://restcountries.eu/data/mac.svg', + currency: 'Macanese pataca' + }, + { + name: 'Macedonia (the former Yugoslav Republic of)', + capital: 'Skopje', + languages: ['Macedonian'], + population: 2058539, + flag: 'https://restcountries.eu/data/mkd.svg', + currency: 'Macedonian denar' + }, + { + name: 'Madagascar', + capital: 'Antananarivo', + languages: ['French', 'Malagasy'], + population: 22434363, + flag: 'https://restcountries.eu/data/mdg.svg', + currency: 'Malagasy ariary' + }, + { + name: 'Malawi', + capital: 'Lilongwe', + languages: ['English', 'Chichewa'], + population: 16832910, + flag: 'https://restcountries.eu/data/mwi.svg', + currency: 'Malawian kwacha' + }, + { + name: 'Malaysia', + capital: 'Kuala Lumpur', + languages: ['Malaysian'], + population: 31405416, + flag: 'https://restcountries.eu/data/mys.svg', + currency: 'Malaysian ringgit' + }, + { + name: 'Maldives', + capital: 'Malé', + languages: ['Divehi'], + population: 344023, + flag: 'https://restcountries.eu/data/mdv.svg', + currency: 'Maldivian rufiyaa' + }, + { + name: 'Mali', + capital: 'Bamako', + languages: ['French'], + population: 18135000, + flag: 'https://restcountries.eu/data/mli.svg', + currency: 'West African CFA franc' + }, + { + name: 'Malta', + capital: 'Valletta', + languages: ['Maltese', 'English'], + population: 425384, + flag: 'https://restcountries.eu/data/mlt.svg', + currency: 'Euro' + }, + { + name: 'Marshall Islands', + capital: 'Majuro', + languages: ['English', 'Marshallese'], + population: 54880, + flag: 'https://restcountries.eu/data/mhl.svg', + currency: 'United States dollar' + }, + { + name: 'Martinique', + capital: 'Fort-de-France', + languages: ['French'], + population: 378243, + flag: 'https://restcountries.eu/data/mtq.svg', + currency: 'Euro' + }, + { + name: 'Mauritania', + capital: 'Nouakchott', + languages: ['Arabic'], + population: 3718678, + flag: 'https://restcountries.eu/data/mrt.svg', + currency: 'Mauritanian ouguiya' + }, + { + name: 'Mauritius', + capital: 'Port Louis', + languages: ['English'], + population: 1262879, + flag: 'https://restcountries.eu/data/mus.svg', + currency: 'Mauritian rupee' + }, + { + name: 'Mayotte', + capital: 'Mamoudzou', + languages: ['French'], + population: 226915, + flag: 'https://restcountries.eu/data/myt.svg', + currency: 'Euro' + }, + { + name: 'Mexico', + capital: 'Mexico City', + languages: ['Spanish'], + population: 122273473, + flag: 'https://restcountries.eu/data/mex.svg', + currency: 'Mexican peso' + }, + { + name: 'Micronesia (Federated States of)', + capital: 'Palikir', + languages: ['English'], + population: 102800, + flag: 'https://restcountries.eu/data/fsm.svg', + currency: '[D]' + }, + { + name: 'Moldova (Republic of)', + capital: 'Chișinău', + languages: ['Romanian'], + population: 3553100, + flag: 'https://restcountries.eu/data/mda.svg', + currency: 'Moldovan leu' + }, + { + name: 'Monaco', + capital: 'Monaco', + languages: ['French'], + population: 38400, + flag: 'https://restcountries.eu/data/mco.svg', + currency: 'Euro' + }, + { + name: 'Mongolia', + capital: 'Ulan Bator', + languages: ['Mongolian'], + population: 3093100, + flag: 'https://restcountries.eu/data/mng.svg', + currency: 'Mongolian tögrög' + }, + { + name: 'Montenegro', + capital: 'Podgorica', + languages: ['Serbian', 'Bosnian', 'Albanian', 'Croatian'], + population: 621810, + flag: 'https://restcountries.eu/data/mne.svg', + currency: 'Euro' + }, + { + name: 'Montserrat', + capital: 'Plymouth', + languages: ['English'], + population: 4922, + flag: 'https://restcountries.eu/data/msr.svg', + currency: 'East Caribbean dollar' + }, + { + name: 'Morocco', + capital: 'Rabat', + languages: ['Arabic'], + population: 33337529, + flag: 'https://restcountries.eu/data/mar.svg', + currency: 'Moroccan dirham' + }, + { + name: 'Mozambique', + capital: 'Maputo', + languages: ['Portuguese'], + population: 26423700, + flag: 'https://restcountries.eu/data/moz.svg', + currency: 'Mozambican metical' + }, + { + name: 'Myanmar', + capital: 'Naypyidaw', + languages: ['Burmese'], + population: 51419420, + flag: 'https://restcountries.eu/data/mmr.svg', + currency: 'Burmese kyat' + }, + { + name: 'Namibia', + capital: 'Windhoek', + languages: ['English', 'Afrikaans'], + population: 2324388, + flag: 'https://restcountries.eu/data/nam.svg', + currency: 'Namibian dollar' + }, + { + name: 'Nauru', + capital: 'Yaren', + languages: ['English', 'Nauruan'], + population: 10084, + flag: 'https://restcountries.eu/data/nru.svg', + currency: 'Australian dollar' + }, + { + name: 'Nepal', + capital: 'Kathmandu', + languages: ['Nepali'], + population: 28431500, + flag: 'https://restcountries.eu/data/npl.svg', + currency: 'Nepalese rupee' + }, + { + name: 'Netherlands', + capital: 'Amsterdam', + languages: ['Dutch'], + population: 17019800, + flag: 'https://restcountries.eu/data/nld.svg', + currency: 'Euro' + }, + { + name: 'New Caledonia', + capital: 'Nouméa', + languages: ['French'], + population: 268767, + flag: 'https://restcountries.eu/data/ncl.svg', + currency: 'CFP franc' + }, + { + name: 'New Zealand', + capital: 'Wellington', + languages: ['English', 'Māori'], + population: 4697854, + flag: 'https://restcountries.eu/data/nzl.svg', + currency: 'New Zealand dollar' + }, + { + name: 'Nicaragua', + capital: 'Managua', + languages: ['Spanish'], + population: 6262703, + flag: 'https://restcountries.eu/data/nic.svg', + currency: 'Nicaraguan córdoba' + }, + { + name: 'Niger', + capital: 'Niamey', + languages: ['French'], + population: 20715000, + flag: 'https://restcountries.eu/data/ner.svg', + currency: 'West African CFA franc' + }, + { + name: 'Nigeria', + capital: 'Abuja', + languages: ['English'], + population: 186988000, + flag: 'https://restcountries.eu/data/nga.svg', + currency: 'Nigerian naira' + }, + { + name: 'Niue', + capital: 'Alofi', + languages: ['English'], + population: 1470, + flag: 'https://restcountries.eu/data/niu.svg', + currency: 'New Zealand dollar' + }, + { + name: 'Norfolk Island', + capital: 'Kingston', + languages: ['English'], + population: 2302, + flag: 'https://restcountries.eu/data/nfk.svg', + currency: 'Australian dollar' + }, + { + name: "Korea (Democratic People's Republic of)", + capital: 'Pyongyang', + languages: ['Korean'], + population: 25281000, + flag: 'https://restcountries.eu/data/prk.svg', + currency: 'North Korean won' + }, + { + name: 'Northern Mariana Islands', + capital: 'Saipan', + languages: ['English', 'Chamorro'], + population: 56940, + flag: 'https://restcountries.eu/data/mnp.svg', + currency: 'United States dollar' + }, + { + name: 'Norway', + capital: 'Oslo', + languages: ['Norwegian', 'Norwegian Bokmål', 'Norwegian Nynorsk'], + population: 5223256, + flag: 'https://restcountries.eu/data/nor.svg', + currency: 'Norwegian krone' + }, + { + name: 'Oman', + capital: 'Muscat', + languages: ['Arabic'], + population: 4420133, + flag: 'https://restcountries.eu/data/omn.svg', + currency: 'Omani rial' + }, + { + name: 'Pakistan', + capital: 'Islamabad', + languages: ['English', 'Urdu'], + population: 194125062, + flag: 'https://restcountries.eu/data/pak.svg', + currency: 'Pakistani rupee' + }, + { + name: 'Palau', + capital: 'Ngerulmud', + languages: ['English'], + population: 17950, + flag: 'https://restcountries.eu/data/plw.svg', + currency: '[E]' + }, + { + name: 'Palestine, State of', + capital: 'Ramallah', + languages: ['Arabic'], + population: 4682467, + flag: 'https://restcountries.eu/data/pse.svg', + currency: 'Israeli new sheqel' + }, + { + name: 'Panama', + capital: 'Panama City', + languages: ['Spanish'], + population: 3814672, + flag: 'https://restcountries.eu/data/pan.svg', + currency: 'Panamanian balboa' + }, + { + name: 'Papua New Guinea', + capital: 'Port Moresby', + languages: ['English'], + population: 8083700, + flag: 'https://restcountries.eu/data/png.svg', + currency: 'Papua New Guinean kina' + }, + { + name: 'Paraguay', + capital: 'Asunción', + languages: ['Spanish', 'Guaraní'], + population: 6854536, + flag: 'https://restcountries.eu/data/pry.svg', + currency: 'Paraguayan guaraní' + }, + { + name: 'Peru', + capital: 'Lima', + languages: ['Spanish'], + population: 31488700, + flag: 'https://restcountries.eu/data/per.svg', + currency: 'Peruvian sol' + }, + { + name: 'Philippines', + capital: 'Manila', + languages: ['English'], + population: 103279800, + flag: 'https://restcountries.eu/data/phl.svg', + currency: 'Philippine peso' + }, + { + name: 'Pitcairn', + capital: 'Adamstown', + languages: ['English'], + population: 56, + flag: 'https://restcountries.eu/data/pcn.svg', + currency: 'New Zealand dollar' + }, + { + name: 'Poland', + capital: 'Warsaw', + languages: ['Polish'], + population: 38437239, + flag: 'https://restcountries.eu/data/pol.svg', + currency: 'Polish złoty' + }, + { + name: 'Portugal', + capital: 'Lisbon', + languages: ['Portuguese'], + population: 10374822, + flag: 'https://restcountries.eu/data/prt.svg', + currency: 'Euro' + }, + { + name: 'Puerto Rico', + capital: 'San Juan', + languages: ['Spanish', 'English'], + population: 3474182, + flag: 'https://restcountries.eu/data/pri.svg', + currency: 'United States dollar' + }, + { + name: 'Qatar', + capital: 'Doha', + languages: ['Arabic'], + population: 2587564, + flag: 'https://restcountries.eu/data/qat.svg', + currency: 'Qatari riyal' + }, + { + name: 'Republic of Kosovo', + capital: 'Pristina', + languages: ['Albanian', 'Serbian'], + population: 1733842, + flag: 'https://restcountries.eu/data/kos.svg', + currency: 'Euro' + }, + { + name: 'Réunion', + capital: 'Saint-Denis', + languages: ['French'], + population: 840974, + flag: 'https://restcountries.eu/data/reu.svg', + currency: 'Euro' + }, + { + name: 'Romania', + capital: 'Bucharest', + languages: ['Romanian'], + population: 19861408, + flag: 'https://restcountries.eu/data/rou.svg', + currency: 'Romanian leu' + }, + { + name: 'Russian Federation', + capital: 'Moscow', + languages: ['Russian'], + population: 146599183, + flag: 'https://restcountries.eu/data/rus.svg', + currency: 'Russian ruble' + }, + { + name: 'Rwanda', + capital: 'Kigali', + languages: ['Kinyarwanda', 'English', 'French'], + population: 11553188, + flag: 'https://restcountries.eu/data/rwa.svg', + currency: 'Rwandan franc' + }, + { + name: 'Saint Barthélemy', + capital: 'Gustavia', + languages: ['French'], + population: 9417, + flag: 'https://restcountries.eu/data/blm.svg', + currency: 'Euro' + }, + { + name: 'Saint Helena, Ascension and Tristan da Cunha', + capital: 'Jamestown', + languages: ['English'], + population: 4255, + flag: 'https://restcountries.eu/data/shn.svg', + currency: 'Saint Helena pound' + }, + { + name: 'Saint Kitts and Nevis', + capital: 'Basseterre', + languages: ['English'], + population: 46204, + flag: 'https://restcountries.eu/data/kna.svg', + currency: 'East Caribbean dollar' + }, + { + name: 'Saint Lucia', + capital: 'Castries', + languages: ['English'], + population: 186000, + flag: 'https://restcountries.eu/data/lca.svg', + currency: 'East Caribbean dollar' + }, + { + name: 'Saint Martin (French part)', + capital: 'Marigot', + languages: ['English', 'French', 'Dutch'], + population: 36979, + flag: 'https://restcountries.eu/data/maf.svg', + currency: 'Euro' + }, + { + name: 'Saint Pierre and Miquelon', + capital: 'Saint-Pierre', + languages: ['French'], + population: 6069, + flag: 'https://restcountries.eu/data/spm.svg', + currency: 'Euro' + }, + { + name: 'Saint Vincent and the Grenadines', + capital: 'Kingstown', + languages: ['English'], + population: 109991, + flag: 'https://restcountries.eu/data/vct.svg', + currency: 'East Caribbean dollar' + }, + { + name: 'Samoa', + capital: 'Apia', + languages: ['Samoan', 'English'], + population: 194899, + flag: 'https://restcountries.eu/data/wsm.svg', + currency: 'Samoan tālā' + }, + { + name: 'San Marino', + capital: 'City of San Marino', + languages: ['Italian'], + population: 33005, + flag: 'https://restcountries.eu/data/smr.svg', + currency: 'Euro' + }, + { + name: 'Sao Tome and Principe', + capital: 'São Tomé', + languages: ['Portuguese'], + population: 187356, + flag: 'https://restcountries.eu/data/stp.svg', + currency: 'São Tomé and Príncipe dobra' + }, + { + name: 'Saudi Arabia', + capital: 'Riyadh', + languages: ['Arabic'], + population: 32248200, + flag: 'https://restcountries.eu/data/sau.svg', + currency: 'Saudi riyal' + }, + { + name: 'Senegal', + capital: 'Dakar', + languages: ['French'], + population: 14799859, + flag: 'https://restcountries.eu/data/sen.svg', + currency: 'West African CFA franc' + }, + { + name: 'Serbia', + capital: 'Belgrade', + languages: ['Serbian'], + population: 7076372, + flag: 'https://restcountries.eu/data/srb.svg', + currency: 'Serbian dinar' + }, + { + name: 'Seychelles', + capital: 'Victoria', + languages: ['French', 'English'], + population: 91400, + flag: 'https://restcountries.eu/data/syc.svg', + currency: 'Seychellois rupee' + }, + { + name: 'Sierra Leone', + capital: 'Freetown', + languages: ['English'], + population: 7075641, + flag: 'https://restcountries.eu/data/sle.svg', + currency: 'Sierra Leonean leone' + }, + { + name: 'Singapore', + capital: 'Singapore', + languages: ['English', 'Malay', 'Tamil', 'Chinese'], + population: 5535000, + flag: 'https://restcountries.eu/data/sgp.svg', + currency: 'Brunei dollar' + }, + { + name: 'Sint Maarten (Dutch part)', + capital: 'Philipsburg', + languages: ['Dutch', 'English'], + population: 38247, + flag: 'https://restcountries.eu/data/sxm.svg', + currency: 'Netherlands Antillean guilder' + }, + { + name: 'Slovakia', + capital: 'Bratislava', + languages: ['Slovak'], + population: 5426252, + flag: 'https://restcountries.eu/data/svk.svg', + currency: 'Euro' + }, + { + name: 'Slovenia', + capital: 'Ljubljana', + languages: ['Slovene'], + population: 2064188, + flag: 'https://restcountries.eu/data/svn.svg', + currency: 'Euro' + }, + { + name: 'Solomon Islands', + capital: 'Honiara', + languages: ['English'], + population: 642000, + flag: 'https://restcountries.eu/data/slb.svg', + currency: 'Solomon Islands dollar' + }, + { + name: 'Somalia', + capital: 'Mogadishu', + languages: ['Somali', 'Arabic'], + population: 11079000, + flag: 'https://restcountries.eu/data/som.svg', + currency: 'Somali shilling' + }, + { + name: 'South Africa', + capital: 'Pretoria', + languages: [ + 'Afrikaans', + 'English', + 'Southern Ndebele', + 'Southern Sotho', + 'Swati', + 'Tswana', + 'Tsonga', + 'Venda', + 'Xhosa', + 'Zulu' + ], + population: 55653654, + flag: 'https://restcountries.eu/data/zaf.svg', + currency: 'South African rand' + }, + { + name: 'South Georgia and the South Sandwich Islands', + capital: 'King Edward Point', + languages: ['English'], + population: 30, + flag: 'https://restcountries.eu/data/sgs.svg', + currency: 'British pound' + }, + { + name: 'Korea (Republic of)', + capital: 'Seoul', + languages: ['Korean'], + population: 50801405, + flag: 'https://restcountries.eu/data/kor.svg', + currency: 'South Korean won' + }, + { + name: 'South Sudan', + capital: 'Juba', + languages: ['English'], + population: 12131000, + flag: 'https://restcountries.eu/data/ssd.svg', + currency: 'South Sudanese pound' + }, + { + name: 'Spain', + capital: 'Madrid', + languages: ['Spanish'], + population: 46438422, + flag: 'https://restcountries.eu/data/esp.svg', + currency: 'Euro' + }, + { + name: 'Sri Lanka', + capital: 'Colombo', + languages: ['Sinhalese', 'Tamil'], + population: 20966000, + flag: 'https://restcountries.eu/data/lka.svg', + currency: 'Sri Lankan rupee' + }, + { + name: 'Sudan', + capital: 'Khartoum', + languages: ['Arabic', 'English'], + population: 39598700, + flag: 'https://restcountries.eu/data/sdn.svg', + currency: 'Sudanese pound' + }, + { + name: 'Suriname', + capital: 'Paramaribo', + languages: ['Dutch'], + population: 541638, + flag: 'https://restcountries.eu/data/sur.svg', + currency: 'Surinamese dollar' + }, + { + name: 'Svalbard and Jan Mayen', + capital: 'Longyearbyen', + languages: ['Norwegian'], + population: 2562, + flag: 'https://restcountries.eu/data/sjm.svg', + currency: 'Norwegian krone' + }, + { + name: 'Swaziland', + capital: 'Lobamba', + languages: ['English', 'Swati'], + population: 1132657, + flag: 'https://restcountries.eu/data/swz.svg', + currency: 'Swazi lilangeni' + }, + { + name: 'Sweden', + capital: 'Stockholm', + languages: ['Swedish'], + population: 9894888, + flag: 'https://restcountries.eu/data/swe.svg', + currency: 'Swedish krona' + }, + { + name: 'Switzerland', + capital: 'Bern', + languages: ['German', 'French', 'Italian'], + population: 8341600, + flag: 'https://restcountries.eu/data/che.svg', + currency: 'Swiss franc' + }, + { + name: 'Syrian Arab Republic', + capital: 'Damascus', + languages: ['Arabic'], + population: 18564000, + flag: 'https://restcountries.eu/data/syr.svg', + currency: 'Syrian pound' + }, + { + name: 'Taiwan', + capital: 'Taipei', + languages: ['Chinese'], + population: 23503349, + flag: 'https://restcountries.eu/data/twn.svg', + currency: 'New Taiwan dollar' + }, + { + name: 'Tajikistan', + capital: 'Dushanbe', + languages: ['Tajik', 'Russian'], + population: 8593600, + flag: 'https://restcountries.eu/data/tjk.svg', + currency: 'Tajikistani somoni' + }, + { + name: 'Tanzania, United Republic of', + capital: 'Dodoma', + languages: ['Swahili', 'English'], + population: 55155000, + flag: 'https://restcountries.eu/data/tza.svg', + currency: 'Tanzanian shilling' + }, + { + name: 'Thailand', + capital: 'Bangkok', + languages: ['Thai'], + population: 65327652, + flag: 'https://restcountries.eu/data/tha.svg', + currency: 'Thai baht' + }, + { + name: 'Timor-Leste', + capital: 'Dili', + languages: ['Portuguese'], + population: 1167242, + flag: 'https://restcountries.eu/data/tls.svg', + currency: 'United States dollar' + }, + { + name: 'Togo', + capital: 'Lomé', + languages: ['French'], + population: 7143000, + flag: 'https://restcountries.eu/data/tgo.svg', + currency: 'West African CFA franc' + }, + { + name: 'Tokelau', + capital: 'Fakaofo', + languages: ['English'], + population: 1411, + flag: 'https://restcountries.eu/data/tkl.svg', + currency: 'New Zealand dollar' + }, + { + name: 'Tonga', + capital: "Nuku'alofa", + languages: ['English', 'Tonga (Tonga Islands)'], + population: 103252, + flag: 'https://restcountries.eu/data/ton.svg', + currency: 'Tongan paʻanga' + }, + { + name: 'Trinidad and Tobago', + capital: 'Port of Spain', + languages: ['English'], + population: 1349667, + flag: 'https://restcountries.eu/data/tto.svg', + currency: 'Trinidad and Tobago dollar' + }, + { + name: 'Tunisia', + capital: 'Tunis', + languages: ['Arabic'], + population: 11154400, + flag: 'https://restcountries.eu/data/tun.svg', + currency: 'Tunisian dinar' + }, + { + name: 'Turkey', + capital: 'Ankara', + languages: ['Turkish'], + population: 78741053, + flag: 'https://restcountries.eu/data/tur.svg', + currency: 'Turkish lira' + }, + { + name: 'Turkmenistan', + capital: 'Ashgabat', + languages: ['Turkmen', 'Russian'], + population: 4751120, + flag: 'https://restcountries.eu/data/tkm.svg', + currency: 'Turkmenistan manat' + }, + { + name: 'Turks and Caicos Islands', + capital: 'Cockburn Town', + languages: ['English'], + population: 31458, + flag: 'https://restcountries.eu/data/tca.svg', + currency: 'United States dollar' + }, + { + name: 'Tuvalu', + capital: 'Funafuti', + languages: ['English'], + population: 10640, + flag: 'https://restcountries.eu/data/tuv.svg', + currency: 'Australian dollar' + }, + { + name: 'Uganda', + capital: 'Kampala', + languages: ['English', 'Swahili'], + population: 33860700, + flag: 'https://restcountries.eu/data/uga.svg', + currency: 'Ugandan shilling' + }, + { + name: 'Ukraine', + capital: 'Kiev', + languages: ['Ukrainian'], + population: 42692393, + flag: 'https://restcountries.eu/data/ukr.svg', + currency: 'Ukrainian hryvnia' + }, + { + name: 'United Arab Emirates', + capital: 'Abu Dhabi', + languages: ['Arabic'], + population: 9856000, + flag: 'https://restcountries.eu/data/are.svg', + currency: 'United Arab Emirates dirham' + }, + { + name: 'United Kingdom of Great Britain and Northern Ireland', + capital: 'London', + languages: ['English'], + population: 65110000, + flag: 'https://restcountries.eu/data/gbr.svg', + currency: 'British pound' + }, + { + name: 'United States of America', + capital: 'Washington, D.C.', + languages: ['English'], + population: 323947000, + flag: 'https://restcountries.eu/data/usa.svg', + currency: 'United States dollar' + }, + { + name: 'Uruguay', + capital: 'Montevideo', + languages: ['Spanish'], + population: 3480222, + flag: 'https://restcountries.eu/data/ury.svg', + currency: 'Uruguayan peso' + }, + { + name: 'Uzbekistan', + capital: 'Tashkent', + languages: ['Uzbek', 'Russian'], + population: 31576400, + flag: 'https://restcountries.eu/data/uzb.svg', + currency: "Uzbekistani so'm" + }, + { + name: 'Vanuatu', + capital: 'Port Vila', + languages: ['Bislama', 'English', 'French'], + population: 277500, + flag: 'https://restcountries.eu/data/vut.svg', + currency: 'Vanuatu vatu' + }, + { + name: 'Venezuela (Bolivarian Republic of)', + capital: 'Caracas', + languages: ['Spanish'], + population: 31028700, + flag: 'https://restcountries.eu/data/ven.svg', + currency: 'Venezuelan bolívar' + }, + { + name: 'Viet Nam', + capital: 'Hanoi', + languages: ['Vietnamese'], + population: 92700000, + flag: 'https://restcountries.eu/data/vnm.svg', + currency: 'Vietnamese đồng' + }, + { + name: 'Wallis and Futuna', + capital: 'Mata-Utu', + languages: ['French'], + population: 11750, + flag: 'https://restcountries.eu/data/wlf.svg', + currency: 'CFP franc' + }, + { + name: 'Western Sahara', + capital: 'El Aaiún', + languages: ['Spanish'], + population: 510713, + flag: 'https://restcountries.eu/data/esh.svg', + currency: 'Moroccan dirham' + }, + { + name: 'Yemen', + capital: "Sana'a", + languages: ['Arabic'], + population: 27478000, + flag: 'https://restcountries.eu/data/yem.svg', + currency: 'Yemeni rial' + }, + { + name: 'Zambia', + capital: 'Lusaka', + languages: ['English'], + population: 15933883, + flag: 'https://restcountries.eu/data/zmb.svg', + currency: 'Zambian kwacha' + }, + { + name: 'Zimbabwe', + capital: 'Harare', + languages: ['English', 'Shona', 'Northern Ndebele'], + population: 14240168, + flag: 'https://restcountries.eu/data/zwe.svg', + currency: 'Botswana pula' + } +] diff --git a/10_Day/10_day_starter/index.html b/10_Day/10_day_starter/index.html new file mode 100644 index 00000000..38b79a2a --- /dev/null +++ b/10_Day/10_day_starter/index.html @@ -0,0 +1,17 @@ + + + + + 30DaysOfJavaScript:10 Day + + + +

30DaysOfJavaScript:10 Day

+

Set and Map

+ + + + + + + \ No newline at end of file diff --git a/10_Day/10_day_starter/scripts/main.js b/10_Day/10_day_starter/scripts/main.js new file mode 100644 index 00000000..c6045c83 --- /dev/null +++ b/10_Day/10_day_starter/scripts/main.js @@ -0,0 +1,2 @@ +console.log(countries) +alert('Open the console and check if the countries has been loaded') \ No newline at end of file diff --git a/11_Day/11_day_starter/data/countries_data.js b/11_Day/11_day_starter/data/countries_data.js new file mode 100644 index 00000000..92acddd2 --- /dev/null +++ b/11_Day/11_day_starter/data/countries_data.js @@ -0,0 +1,2013 @@ +const countries = [ + { + name: 'Afghanistan', + capital: 'Kabul', + languages: ['Pashto', 'Uzbek', 'Turkmen'], + population: 27657145, + flag: 'https://restcountries.eu/data/afg.svg', + currency: 'Afghan afghani' + }, + { + name: 'Åland Islands', + capital: 'Mariehamn', + languages: ['Swedish'], + population: 28875, + flag: 'https://restcountries.eu/data/ala.svg', + currency: 'Euro' + }, + { + name: 'Albania', + capital: 'Tirana', + languages: ['Albanian'], + population: 2886026, + flag: 'https://restcountries.eu/data/alb.svg', + currency: 'Albanian lek' + }, + { + name: 'Algeria', + capital: 'Algiers', + languages: ['Arabic'], + population: 40400000, + flag: 'https://restcountries.eu/data/dza.svg', + currency: 'Algerian dinar' + }, + { + name: 'American Samoa', + capital: 'Pago Pago', + languages: ['English', 'Samoan'], + population: 57100, + flag: 'https://restcountries.eu/data/asm.svg', + currency: 'United State Dollar' + }, + { + name: 'Andorra', + capital: 'Andorra la Vella', + languages: ['Catalan'], + population: 78014, + flag: 'https://restcountries.eu/data/and.svg', + currency: 'Euro' + }, + { + name: 'Angola', + capital: 'Luanda', + languages: ['Portuguese'], + population: 25868000, + flag: 'https://restcountries.eu/data/ago.svg', + currency: 'Angolan kwanza' + }, + { + name: 'Anguilla', + capital: 'The Valley', + languages: ['English'], + population: 13452, + flag: 'https://restcountries.eu/data/aia.svg', + currency: 'East Caribbean dollar' + }, + { + name: 'Antarctica', + capital: '', + languages: ['English', 'Russian'], + population: 1000, + flag: 'https://restcountries.eu/data/ata.svg', + currency: 'Australian dollar' + }, + { + name: 'Antigua and Barbuda', + capital: "Saint John's", + languages: ['English'], + population: 86295, + flag: 'https://restcountries.eu/data/atg.svg', + currency: 'East Caribbean dollar' + }, + { + name: 'Argentina', + capital: 'Buenos Aires', + languages: ['Spanish', 'Guaraní'], + population: 43590400, + flag: 'https://restcountries.eu/data/arg.svg', + currency: 'Argentine peso' + }, + { + name: 'Armenia', + capital: 'Yerevan', + languages: ['Armenian', 'Russian'], + population: 2994400, + flag: 'https://restcountries.eu/data/arm.svg', + currency: 'Armenian dram' + }, + { + name: 'Aruba', + capital: 'Oranjestad', + languages: ['Dutch', '(Eastern) Punjabi'], + population: 107394, + flag: 'https://restcountries.eu/data/abw.svg', + currency: 'Aruban florin' + }, + { + name: 'Australia', + capital: 'Canberra', + languages: ['English'], + population: 24117360, + flag: 'https://restcountries.eu/data/aus.svg', + currency: 'Australian dollar' + }, + { + name: 'Austria', + capital: 'Vienna', + languages: ['German'], + population: 8725931, + flag: 'https://restcountries.eu/data/aut.svg', + currency: 'Euro' + }, + { + name: 'Azerbaijan', + capital: 'Baku', + languages: ['Azerbaijani'], + population: 9730500, + flag: 'https://restcountries.eu/data/aze.svg', + currency: 'Azerbaijani manat' + }, + { + name: 'Bahamas', + capital: 'Nassau', + languages: ['English'], + population: 378040, + flag: 'https://restcountries.eu/data/bhs.svg', + currency: 'Bahamian dollar' + }, + { + name: 'Bahrain', + capital: 'Manama', + languages: ['Arabic'], + population: 1404900, + flag: 'https://restcountries.eu/data/bhr.svg', + currency: 'Bahraini dinar' + }, + { + name: 'Bangladesh', + capital: 'Dhaka', + languages: ['Bengali'], + population: 161006790, + flag: 'https://restcountries.eu/data/bgd.svg', + currency: 'Bangladeshi taka' + }, + { + name: 'Barbados', + capital: 'Bridgetown', + languages: ['English'], + population: 285000, + flag: 'https://restcountries.eu/data/brb.svg', + currency: 'Barbadian dollar' + }, + { + name: 'Belarus', + capital: 'Minsk', + languages: ['Belarusian', 'Russian'], + population: 9498700, + flag: 'https://restcountries.eu/data/blr.svg', + currency: 'New Belarusian ruble' + }, + { + name: 'Belgium', + capital: 'Brussels', + languages: ['Dutch', 'French', 'German'], + population: 11319511, + flag: 'https://restcountries.eu/data/bel.svg', + currency: 'Euro' + }, + { + name: 'Belize', + capital: 'Belmopan', + languages: ['English', 'Spanish'], + population: 370300, + flag: 'https://restcountries.eu/data/blz.svg', + currency: 'Belize dollar' + }, + { + name: 'Benin', + capital: 'Porto-Novo', + languages: ['French'], + population: 10653654, + flag: 'https://restcountries.eu/data/ben.svg', + currency: 'West African CFA franc' + }, + { + name: 'Bermuda', + capital: 'Hamilton', + languages: ['English'], + population: 61954, + flag: 'https://restcountries.eu/data/bmu.svg', + currency: 'Bermudian dollar' + }, + { + name: 'Bhutan', + capital: 'Thimphu', + languages: ['Dzongkha'], + population: 775620, + flag: 'https://restcountries.eu/data/btn.svg', + currency: 'Bhutanese ngultrum' + }, + { + name: 'Bolivia (Plurinational State of)', + capital: 'Sucre', + languages: ['Spanish', 'Aymara', 'Quechua'], + population: 10985059, + flag: 'https://restcountries.eu/data/bol.svg', + currency: 'Bolivian boliviano' + }, + { + name: 'Bonaire, Sint Eustatius and Saba', + capital: 'Kralendijk', + languages: ['Dutch'], + population: 17408, + flag: 'https://restcountries.eu/data/bes.svg', + currency: 'United States dollar' + }, + { + name: 'Bosnia and Herzegovina', + capital: 'Sarajevo', + languages: ['Bosnian', 'Croatian', 'Serbian'], + population: 3531159, + flag: 'https://restcountries.eu/data/bih.svg', + currency: 'Bosnia and Herzegovina convertible mark' + }, + { + name: 'Botswana', + capital: 'Gaborone', + languages: ['English', 'Tswana'], + population: 2141206, + flag: 'https://restcountries.eu/data/bwa.svg', + currency: 'Botswana pula' + }, + { + name: 'Bouvet Island', + capital: '', + languages: ['Norwegian', 'Norwegian Bokmål', 'Norwegian Nynorsk'], + population: 0, + flag: 'https://restcountries.eu/data/bvt.svg', + currency: 'Norwegian krone' + }, + { + name: 'Brazil', + capital: 'Brasília', + languages: ['Portuguese'], + population: 206135893, + flag: 'https://restcountries.eu/data/bra.svg', + currency: 'Brazilian real' + }, + { + name: 'British Indian Ocean Territory', + capital: 'Diego Garcia', + languages: ['English'], + population: 3000, + flag: 'https://restcountries.eu/data/iot.svg', + currency: 'United States dollar' + }, + { + name: 'United States Minor Outlying Islands', + capital: '', + languages: ['English'], + population: 300, + flag: 'https://restcountries.eu/data/umi.svg', + currency: 'United States Dollar' + }, + { + name: 'Virgin Islands (British)', + capital: 'Road Town', + languages: ['English'], + population: 28514, + flag: 'https://restcountries.eu/data/vgb.svg', + currency: '[D]' + }, + { + name: 'Virgin Islands (U.S.)', + capital: 'Charlotte Amalie', + languages: ['English'], + population: 114743, + flag: 'https://restcountries.eu/data/vir.svg', + currency: 'United States dollar' + }, + { + name: 'Brunei Darussalam', + capital: 'Bandar Seri Begawan', + languages: ['Malay'], + population: 411900, + flag: 'https://restcountries.eu/data/brn.svg', + currency: 'Brunei dollar' + }, + { + name: 'Bulgaria', + capital: 'Sofia', + languages: ['Bulgarian'], + population: 7153784, + flag: 'https://restcountries.eu/data/bgr.svg', + currency: 'Bulgarian lev' + }, + { + name: 'Burkina Faso', + capital: 'Ouagadougou', + languages: ['French', 'Fula'], + population: 19034397, + flag: 'https://restcountries.eu/data/bfa.svg', + currency: 'West African CFA franc' + }, + { + name: 'Burundi', + capital: 'Bujumbura', + languages: ['French', 'Kirundi'], + population: 10114505, + flag: 'https://restcountries.eu/data/bdi.svg', + currency: 'Burundian franc' + }, + { + name: 'Cambodia', + capital: 'Phnom Penh', + languages: ['Khmer'], + population: 15626444, + flag: 'https://restcountries.eu/data/khm.svg', + currency: 'Cambodian riel' + }, + { + name: 'Cameroon', + capital: 'Yaoundé', + languages: ['English', 'French'], + population: 22709892, + flag: 'https://restcountries.eu/data/cmr.svg', + currency: 'Central African CFA franc' + }, + { + name: 'Canada', + capital: 'Ottawa', + languages: ['English', 'French'], + population: 36155487, + flag: 'https://restcountries.eu/data/can.svg', + currency: 'Canadian dollar' + }, + { + name: 'Cabo Verde', + capital: 'Praia', + languages: ['Portuguese'], + population: 531239, + flag: 'https://restcountries.eu/data/cpv.svg', + currency: 'Cape Verdean escudo' + }, + { + name: 'Cayman Islands', + capital: 'George Town', + languages: ['English'], + population: 58238, + flag: 'https://restcountries.eu/data/cym.svg', + currency: 'Cayman Islands dollar' + }, + { + name: 'Central African Republic', + capital: 'Bangui', + languages: ['French', 'Sango'], + population: 4998000, + flag: 'https://restcountries.eu/data/caf.svg', + currency: 'Central African CFA franc' + }, + { + name: 'Chad', + capital: "N'Djamena", + languages: ['French', 'Arabic'], + population: 14497000, + flag: 'https://restcountries.eu/data/tcd.svg', + currency: 'Central African CFA franc' + }, + { + name: 'Chile', + capital: 'Santiago', + languages: ['Spanish'], + population: 18191900, + flag: 'https://restcountries.eu/data/chl.svg', + currency: 'Chilean peso' + }, + { + name: 'China', + capital: 'Beijing', + languages: ['Chinese'], + population: 1377422166, + flag: 'https://restcountries.eu/data/chn.svg', + currency: 'Chinese yuan' + }, + { + name: 'Christmas Island', + capital: 'Flying Fish Cove', + languages: ['English'], + population: 2072, + flag: 'https://restcountries.eu/data/cxr.svg', + currency: 'Australian dollar' + }, + { + name: 'Cocos (Keeling) Islands', + capital: 'West Island', + languages: ['English'], + population: 550, + flag: 'https://restcountries.eu/data/cck.svg', + currency: 'Australian dollar' + }, + { + name: 'Colombia', + capital: 'Bogotá', + languages: ['Spanish'], + population: 48759958, + flag: 'https://restcountries.eu/data/col.svg', + currency: 'Colombian peso' + }, + { + name: 'Comoros', + capital: 'Moroni', + languages: ['Arabic', 'French'], + population: 806153, + flag: 'https://restcountries.eu/data/com.svg', + currency: 'Comorian franc' + }, + { + name: 'Congo', + capital: 'Brazzaville', + languages: ['French', 'Lingala'], + population: 4741000, + flag: 'https://restcountries.eu/data/cog.svg', + currency: 'Central African CFA franc' + }, + { + name: 'Congo (Democratic Republic of the)', + capital: 'Kinshasa', + languages: ['French', 'Lingala', 'Kongo', 'Swahili', 'Luba-Katanga'], + population: 85026000, + flag: 'https://restcountries.eu/data/cod.svg', + currency: 'Congolese franc' + }, + { + name: 'Cook Islands', + capital: 'Avarua', + languages: ['English'], + population: 18100, + flag: 'https://restcountries.eu/data/cok.svg', + currency: 'New Zealand dollar' + }, + { + name: 'Costa Rica', + capital: 'San José', + languages: ['Spanish'], + population: 4890379, + flag: 'https://restcountries.eu/data/cri.svg', + currency: 'Costa Rican colón' + }, + { + name: 'Croatia', + capital: 'Zagreb', + languages: ['Croatian'], + population: 4190669, + flag: 'https://restcountries.eu/data/hrv.svg', + currency: 'Croatian kuna' + }, + { + name: 'Cuba', + capital: 'Havana', + languages: ['Spanish'], + population: 11239004, + flag: 'https://restcountries.eu/data/cub.svg', + currency: 'Cuban convertible peso' + }, + { + name: 'Curaçao', + capital: 'Willemstad', + languages: ['Dutch', '(Eastern) Punjabi', 'English'], + population: 154843, + flag: 'https://restcountries.eu/data/cuw.svg', + currency: 'Netherlands Antillean guilder' + }, + { + name: 'Cyprus', + capital: 'Nicosia', + languages: ['Greek (modern)', 'Turkish', 'Armenian'], + population: 847000, + flag: 'https://restcountries.eu/data/cyp.svg', + currency: 'Euro' + }, + { + name: 'Czech Republic', + capital: 'Prague', + languages: ['Czech', 'Slovak'], + population: 10558524, + flag: 'https://restcountries.eu/data/cze.svg', + currency: 'Czech koruna' + }, + { + name: 'Denmark', + capital: 'Copenhagen', + languages: ['Danish'], + population: 5717014, + flag: 'https://restcountries.eu/data/dnk.svg', + currency: 'Danish krone' + }, + { + name: 'Djibouti', + capital: 'Djibouti', + languages: ['French', 'Arabic'], + population: 900000, + flag: 'https://restcountries.eu/data/dji.svg', + currency: 'Djiboutian franc' + }, + { + name: 'Dominica', + capital: 'Roseau', + languages: ['English'], + population: 71293, + flag: 'https://restcountries.eu/data/dma.svg', + currency: 'East Caribbean dollar' + }, + { + name: 'Dominican Republic', + capital: 'Santo Domingo', + languages: ['Spanish'], + population: 10075045, + flag: 'https://restcountries.eu/data/dom.svg', + currency: 'Dominican peso' + }, + { + name: 'Ecuador', + capital: 'Quito', + languages: ['Spanish'], + population: 16545799, + flag: 'https://restcountries.eu/data/ecu.svg', + currency: 'United States dollar' + }, + { + name: 'Egypt', + capital: 'Cairo', + languages: ['Arabic'], + population: 91290000, + flag: 'https://restcountries.eu/data/egy.svg', + currency: 'Egyptian pound' + }, + { + name: 'El Salvador', + capital: 'San Salvador', + languages: ['Spanish'], + population: 6520675, + flag: 'https://restcountries.eu/data/slv.svg', + currency: 'United States dollar' + }, + { + name: 'Equatorial Guinea', + capital: 'Malabo', + languages: ['Spanish', 'French'], + population: 1222442, + flag: 'https://restcountries.eu/data/gnq.svg', + currency: 'Central African CFA franc' + }, + { + name: 'Eritrea', + capital: 'Asmara', + languages: ['Tigrinya', 'Arabic', 'English'], + population: 5352000, + flag: 'https://restcountries.eu/data/eri.svg', + currency: 'Eritrean nakfa' + }, + { + name: 'Estonia', + capital: 'Tallinn', + languages: ['Estonian'], + population: 1315944, + flag: 'https://restcountries.eu/data/est.svg', + currency: 'Euro' + }, + { + name: 'Ethiopia', + capital: 'Addis Ababa', + languages: ['Amharic'], + population: 92206005, + flag: 'https://restcountries.eu/data/eth.svg', + currency: 'Ethiopian birr' + }, + { + name: 'Falkland Islands (Malvinas)', + capital: 'Stanley', + languages: ['English'], + population: 2563, + flag: 'https://restcountries.eu/data/flk.svg', + currency: 'Falkland Islands pound' + }, + { + name: 'Faroe Islands', + capital: 'Tórshavn', + languages: ['Faroese'], + population: 49376, + flag: 'https://restcountries.eu/data/fro.svg', + currency: 'Danish krone' + }, + { + name: 'Fiji', + capital: 'Suva', + languages: ['English', 'Fijian', 'Hindi', 'Urdu'], + population: 867000, + flag: 'https://restcountries.eu/data/fji.svg', + currency: 'Fijian dollar' + }, + { + name: 'Finland', + capital: 'Helsinki', + languages: ['Finnish', 'Swedish'], + population: 5491817, + flag: 'https://restcountries.eu/data/fin.svg', + currency: 'Euro' + }, + { + name: 'France', + capital: 'Paris', + languages: ['French'], + population: 66710000, + flag: 'https://restcountries.eu/data/fra.svg', + currency: 'Euro' + }, + { + name: 'French Guiana', + capital: 'Cayenne', + languages: ['French'], + population: 254541, + flag: 'https://restcountries.eu/data/guf.svg', + currency: 'Euro' + }, + { + name: 'French Polynesia', + capital: 'Papeetē', + languages: ['French'], + population: 271800, + flag: 'https://restcountries.eu/data/pyf.svg', + currency: 'CFP franc' + }, + { + name: 'French Southern Territories', + capital: 'Port-aux-Français', + languages: ['French'], + population: 140, + flag: 'https://restcountries.eu/data/atf.svg', + currency: 'Euro' + }, + { + name: 'Gabon', + capital: 'Libreville', + languages: ['French'], + population: 1802278, + flag: 'https://restcountries.eu/data/gab.svg', + currency: 'Central African CFA franc' + }, + { + name: 'Gambia', + capital: 'Banjul', + languages: ['English'], + population: 1882450, + flag: 'https://restcountries.eu/data/gmb.svg', + currency: 'Gambian dalasi' + }, + { + name: 'Georgia', + capital: 'Tbilisi', + languages: ['Georgian'], + population: 3720400, + flag: 'https://restcountries.eu/data/geo.svg', + currency: 'Georgian Lari' + }, + { + name: 'Germany', + capital: 'Berlin', + languages: ['German'], + population: 81770900, + flag: 'https://restcountries.eu/data/deu.svg', + currency: 'Euro' + }, + { + name: 'Ghana', + capital: 'Accra', + languages: ['English'], + population: 27670174, + flag: 'https://restcountries.eu/data/gha.svg', + currency: 'Ghanaian cedi' + }, + { + name: 'Gibraltar', + capital: 'Gibraltar', + languages: ['English'], + population: 33140, + flag: 'https://restcountries.eu/data/gib.svg', + currency: 'Gibraltar pound' + }, + { + name: 'Greece', + capital: 'Athens', + languages: ['Greek (modern)'], + population: 10858018, + flag: 'https://restcountries.eu/data/grc.svg', + currency: 'Euro' + }, + { + name: 'Greenland', + capital: 'Nuuk', + languages: ['Kalaallisut'], + population: 55847, + flag: 'https://restcountries.eu/data/grl.svg', + currency: 'Danish krone' + }, + { + name: 'Grenada', + capital: "St. George's", + languages: ['English'], + population: 103328, + flag: 'https://restcountries.eu/data/grd.svg', + currency: 'East Caribbean dollar' + }, + { + name: 'Guadeloupe', + capital: 'Basse-Terre', + languages: ['French'], + population: 400132, + flag: 'https://restcountries.eu/data/glp.svg', + currency: 'Euro' + }, + { + name: 'Guam', + capital: 'Hagåtña', + languages: ['English', 'Chamorro', 'Spanish'], + population: 184200, + flag: 'https://restcountries.eu/data/gum.svg', + currency: 'United States dollar' + }, + { + name: 'Guatemala', + capital: 'Guatemala City', + languages: ['Spanish'], + population: 16176133, + flag: 'https://restcountries.eu/data/gtm.svg', + currency: 'Guatemalan quetzal' + }, + { + name: 'Guernsey', + capital: 'St. Peter Port', + languages: ['English', 'French'], + population: 62999, + flag: 'https://restcountries.eu/data/ggy.svg', + currency: 'British pound' + }, + { + name: 'Guinea', + capital: 'Conakry', + languages: ['French', 'Fula'], + population: 12947000, + flag: 'https://restcountries.eu/data/gin.svg', + currency: 'Guinean franc' + }, + { + name: 'Guinea-Bissau', + capital: 'Bissau', + languages: ['Portuguese'], + population: 1547777, + flag: 'https://restcountries.eu/data/gnb.svg', + currency: 'West African CFA franc' + }, + { + name: 'Guyana', + capital: 'Georgetown', + languages: ['English'], + population: 746900, + flag: 'https://restcountries.eu/data/guy.svg', + currency: 'Guyanese dollar' + }, + { + name: 'Haiti', + capital: 'Port-au-Prince', + languages: ['French', 'Haitian'], + population: 11078033, + flag: 'https://restcountries.eu/data/hti.svg', + currency: 'Haitian gourde' + }, + { + name: 'Heard Island and McDonald Islands', + capital: '', + languages: ['English'], + population: 0, + flag: 'https://restcountries.eu/data/hmd.svg', + currency: 'Australian dollar' + }, + { + name: 'Holy See', + capital: 'Rome', + languages: ['Latin', 'Italian', 'French', 'German'], + population: 451, + flag: 'https://restcountries.eu/data/vat.svg', + currency: 'Euro' + }, + { + name: 'Honduras', + capital: 'Tegucigalpa', + languages: ['Spanish'], + population: 8576532, + flag: 'https://restcountries.eu/data/hnd.svg', + currency: 'Honduran lempira' + }, + { + name: 'Hong Kong', + capital: 'City of Victoria', + languages: ['English', 'Chinese'], + population: 7324300, + flag: 'https://restcountries.eu/data/hkg.svg', + currency: 'Hong Kong dollar' + }, + { + name: 'Hungary', + capital: 'Budapest', + languages: ['Hungarian'], + population: 9823000, + flag: 'https://restcountries.eu/data/hun.svg', + currency: 'Hungarian forint' + }, + { + name: 'Iceland', + capital: 'Reykjavík', + languages: ['Icelandic'], + population: 334300, + flag: 'https://restcountries.eu/data/isl.svg', + currency: 'Icelandic króna' + }, + { + name: 'India', + capital: 'New Delhi', + languages: ['Hindi', 'English'], + population: 1295210000, + flag: 'https://restcountries.eu/data/ind.svg', + currency: 'Indian rupee' + }, + { + name: 'Indonesia', + capital: 'Jakarta', + languages: ['Indonesian'], + population: 258705000, + flag: 'https://restcountries.eu/data/idn.svg', + currency: 'Indonesian rupiah' + }, + { + name: "Côte d'Ivoire", + capital: 'Yamoussoukro', + languages: ['French'], + population: 22671331, + flag: 'https://restcountries.eu/data/civ.svg', + currency: 'West African CFA franc' + }, + { + name: 'Iran (Islamic Republic of)', + capital: 'Tehran', + languages: ['Persian (Farsi)'], + population: 79369900, + flag: 'https://restcountries.eu/data/irn.svg', + currency: 'Iranian rial' + }, + { + name: 'Iraq', + capital: 'Baghdad', + languages: ['Arabic', 'Kurdish'], + population: 37883543, + flag: 'https://restcountries.eu/data/irq.svg', + currency: 'Iraqi dinar' + }, + { + name: 'Ireland', + capital: 'Dublin', + languages: ['Irish', 'English'], + population: 6378000, + flag: 'https://restcountries.eu/data/irl.svg', + currency: 'Euro' + }, + { + name: 'Isle of Man', + capital: 'Douglas', + languages: ['English', 'Manx'], + population: 84497, + flag: 'https://restcountries.eu/data/imn.svg', + currency: 'British pound' + }, + { + name: 'Israel', + capital: 'Jerusalem', + languages: ['Hebrew (modern)', 'Arabic'], + population: 8527400, + flag: 'https://restcountries.eu/data/isr.svg', + currency: 'Israeli new shekel' + }, + { + name: 'Italy', + capital: 'Rome', + languages: ['Italian'], + population: 60665551, + flag: 'https://restcountries.eu/data/ita.svg', + currency: 'Euro' + }, + { + name: 'Jamaica', + capital: 'Kingston', + languages: ['English'], + population: 2723246, + flag: 'https://restcountries.eu/data/jam.svg', + currency: 'Jamaican dollar' + }, + { + name: 'Japan', + capital: 'Tokyo', + languages: ['Japanese'], + population: 126960000, + flag: 'https://restcountries.eu/data/jpn.svg', + currency: 'Japanese yen' + }, + { + name: 'Jersey', + capital: 'Saint Helier', + languages: ['English', 'French'], + population: 100800, + flag: 'https://restcountries.eu/data/jey.svg', + currency: 'British pound' + }, + { + name: 'Jordan', + capital: 'Amman', + languages: ['Arabic'], + population: 9531712, + flag: 'https://restcountries.eu/data/jor.svg', + currency: 'Jordanian dinar' + }, + { + name: 'Kazakhstan', + capital: 'Astana', + languages: ['Kazakh', 'Russian'], + population: 17753200, + flag: 'https://restcountries.eu/data/kaz.svg', + currency: 'Kazakhstani tenge' + }, + { + name: 'Kenya', + capital: 'Nairobi', + languages: ['English', 'Swahili'], + population: 47251000, + flag: 'https://restcountries.eu/data/ken.svg', + currency: 'Kenyan shilling' + }, + { + name: 'Kiribati', + capital: 'South Tarawa', + languages: ['English'], + population: 113400, + flag: 'https://restcountries.eu/data/kir.svg', + currency: 'Australian dollar' + }, + { + name: 'Kuwait', + capital: 'Kuwait City', + languages: ['Arabic'], + population: 4183658, + flag: 'https://restcountries.eu/data/kwt.svg', + currency: 'Kuwaiti dinar' + }, + { + name: 'Kyrgyzstan', + capital: 'Bishkek', + languages: ['Kyrgyz', 'Russian'], + population: 6047800, + flag: 'https://restcountries.eu/data/kgz.svg', + currency: 'Kyrgyzstani som' + }, + { + name: "Lao People's Democratic Republic", + capital: 'Vientiane', + languages: ['Lao'], + population: 6492400, + flag: 'https://restcountries.eu/data/lao.svg', + currency: 'Lao kip' + }, + { + name: 'Latvia', + capital: 'Riga', + languages: ['Latvian'], + population: 1961600, + flag: 'https://restcountries.eu/data/lva.svg', + currency: 'Euro' + }, + { + name: 'Lebanon', + capital: 'Beirut', + languages: ['Arabic', 'French'], + population: 5988000, + flag: 'https://restcountries.eu/data/lbn.svg', + currency: 'Lebanese pound' + }, + { + name: 'Lesotho', + capital: 'Maseru', + languages: ['English', 'Southern Sotho'], + population: 1894194, + flag: 'https://restcountries.eu/data/lso.svg', + currency: 'Lesotho loti' + }, + { + name: 'Liberia', + capital: 'Monrovia', + languages: ['English'], + population: 4615000, + flag: 'https://restcountries.eu/data/lbr.svg', + currency: 'Liberian dollar' + }, + { + name: 'Libya', + capital: 'Tripoli', + languages: ['Arabic'], + population: 6385000, + flag: 'https://restcountries.eu/data/lby.svg', + currency: 'Libyan dinar' + }, + { + name: 'Liechtenstein', + capital: 'Vaduz', + languages: ['German'], + population: 37623, + flag: 'https://restcountries.eu/data/lie.svg', + currency: 'Swiss franc' + }, + { + name: 'Lithuania', + capital: 'Vilnius', + languages: ['Lithuanian'], + population: 2872294, + flag: 'https://restcountries.eu/data/ltu.svg', + currency: 'Euro' + }, + { + name: 'Luxembourg', + capital: 'Luxembourg', + languages: ['French', 'German', 'Luxembourgish'], + population: 576200, + flag: 'https://restcountries.eu/data/lux.svg', + currency: 'Euro' + }, + { + name: 'Macao', + capital: '', + languages: ['Chinese', 'Portuguese'], + population: 649100, + flag: 'https://restcountries.eu/data/mac.svg', + currency: 'Macanese pataca' + }, + { + name: 'Macedonia (the former Yugoslav Republic of)', + capital: 'Skopje', + languages: ['Macedonian'], + population: 2058539, + flag: 'https://restcountries.eu/data/mkd.svg', + currency: 'Macedonian denar' + }, + { + name: 'Madagascar', + capital: 'Antananarivo', + languages: ['French', 'Malagasy'], + population: 22434363, + flag: 'https://restcountries.eu/data/mdg.svg', + currency: 'Malagasy ariary' + }, + { + name: 'Malawi', + capital: 'Lilongwe', + languages: ['English', 'Chichewa'], + population: 16832910, + flag: 'https://restcountries.eu/data/mwi.svg', + currency: 'Malawian kwacha' + }, + { + name: 'Malaysia', + capital: 'Kuala Lumpur', + languages: ['Malaysian'], + population: 31405416, + flag: 'https://restcountries.eu/data/mys.svg', + currency: 'Malaysian ringgit' + }, + { + name: 'Maldives', + capital: 'Malé', + languages: ['Divehi'], + population: 344023, + flag: 'https://restcountries.eu/data/mdv.svg', + currency: 'Maldivian rufiyaa' + }, + { + name: 'Mali', + capital: 'Bamako', + languages: ['French'], + population: 18135000, + flag: 'https://restcountries.eu/data/mli.svg', + currency: 'West African CFA franc' + }, + { + name: 'Malta', + capital: 'Valletta', + languages: ['Maltese', 'English'], + population: 425384, + flag: 'https://restcountries.eu/data/mlt.svg', + currency: 'Euro' + }, + { + name: 'Marshall Islands', + capital: 'Majuro', + languages: ['English', 'Marshallese'], + population: 54880, + flag: 'https://restcountries.eu/data/mhl.svg', + currency: 'United States dollar' + }, + { + name: 'Martinique', + capital: 'Fort-de-France', + languages: ['French'], + population: 378243, + flag: 'https://restcountries.eu/data/mtq.svg', + currency: 'Euro' + }, + { + name: 'Mauritania', + capital: 'Nouakchott', + languages: ['Arabic'], + population: 3718678, + flag: 'https://restcountries.eu/data/mrt.svg', + currency: 'Mauritanian ouguiya' + }, + { + name: 'Mauritius', + capital: 'Port Louis', + languages: ['English'], + population: 1262879, + flag: 'https://restcountries.eu/data/mus.svg', + currency: 'Mauritian rupee' + }, + { + name: 'Mayotte', + capital: 'Mamoudzou', + languages: ['French'], + population: 226915, + flag: 'https://restcountries.eu/data/myt.svg', + currency: 'Euro' + }, + { + name: 'Mexico', + capital: 'Mexico City', + languages: ['Spanish'], + population: 122273473, + flag: 'https://restcountries.eu/data/mex.svg', + currency: 'Mexican peso' + }, + { + name: 'Micronesia (Federated States of)', + capital: 'Palikir', + languages: ['English'], + population: 102800, + flag: 'https://restcountries.eu/data/fsm.svg', + currency: '[D]' + }, + { + name: 'Moldova (Republic of)', + capital: 'Chișinău', + languages: ['Romanian'], + population: 3553100, + flag: 'https://restcountries.eu/data/mda.svg', + currency: 'Moldovan leu' + }, + { + name: 'Monaco', + capital: 'Monaco', + languages: ['French'], + population: 38400, + flag: 'https://restcountries.eu/data/mco.svg', + currency: 'Euro' + }, + { + name: 'Mongolia', + capital: 'Ulan Bator', + languages: ['Mongolian'], + population: 3093100, + flag: 'https://restcountries.eu/data/mng.svg', + currency: 'Mongolian tögrög' + }, + { + name: 'Montenegro', + capital: 'Podgorica', + languages: ['Serbian', 'Bosnian', 'Albanian', 'Croatian'], + population: 621810, + flag: 'https://restcountries.eu/data/mne.svg', + currency: 'Euro' + }, + { + name: 'Montserrat', + capital: 'Plymouth', + languages: ['English'], + population: 4922, + flag: 'https://restcountries.eu/data/msr.svg', + currency: 'East Caribbean dollar' + }, + { + name: 'Morocco', + capital: 'Rabat', + languages: ['Arabic'], + population: 33337529, + flag: 'https://restcountries.eu/data/mar.svg', + currency: 'Moroccan dirham' + }, + { + name: 'Mozambique', + capital: 'Maputo', + languages: ['Portuguese'], + population: 26423700, + flag: 'https://restcountries.eu/data/moz.svg', + currency: 'Mozambican metical' + }, + { + name: 'Myanmar', + capital: 'Naypyidaw', + languages: ['Burmese'], + population: 51419420, + flag: 'https://restcountries.eu/data/mmr.svg', + currency: 'Burmese kyat' + }, + { + name: 'Namibia', + capital: 'Windhoek', + languages: ['English', 'Afrikaans'], + population: 2324388, + flag: 'https://restcountries.eu/data/nam.svg', + currency: 'Namibian dollar' + }, + { + name: 'Nauru', + capital: 'Yaren', + languages: ['English', 'Nauruan'], + population: 10084, + flag: 'https://restcountries.eu/data/nru.svg', + currency: 'Australian dollar' + }, + { + name: 'Nepal', + capital: 'Kathmandu', + languages: ['Nepali'], + population: 28431500, + flag: 'https://restcountries.eu/data/npl.svg', + currency: 'Nepalese rupee' + }, + { + name: 'Netherlands', + capital: 'Amsterdam', + languages: ['Dutch'], + population: 17019800, + flag: 'https://restcountries.eu/data/nld.svg', + currency: 'Euro' + }, + { + name: 'New Caledonia', + capital: 'Nouméa', + languages: ['French'], + population: 268767, + flag: 'https://restcountries.eu/data/ncl.svg', + currency: 'CFP franc' + }, + { + name: 'New Zealand', + capital: 'Wellington', + languages: ['English', 'Māori'], + population: 4697854, + flag: 'https://restcountries.eu/data/nzl.svg', + currency: 'New Zealand dollar' + }, + { + name: 'Nicaragua', + capital: 'Managua', + languages: ['Spanish'], + population: 6262703, + flag: 'https://restcountries.eu/data/nic.svg', + currency: 'Nicaraguan córdoba' + }, + { + name: 'Niger', + capital: 'Niamey', + languages: ['French'], + population: 20715000, + flag: 'https://restcountries.eu/data/ner.svg', + currency: 'West African CFA franc' + }, + { + name: 'Nigeria', + capital: 'Abuja', + languages: ['English'], + population: 186988000, + flag: 'https://restcountries.eu/data/nga.svg', + currency: 'Nigerian naira' + }, + { + name: 'Niue', + capital: 'Alofi', + languages: ['English'], + population: 1470, + flag: 'https://restcountries.eu/data/niu.svg', + currency: 'New Zealand dollar' + }, + { + name: 'Norfolk Island', + capital: 'Kingston', + languages: ['English'], + population: 2302, + flag: 'https://restcountries.eu/data/nfk.svg', + currency: 'Australian dollar' + }, + { + name: "Korea (Democratic People's Republic of)", + capital: 'Pyongyang', + languages: ['Korean'], + population: 25281000, + flag: 'https://restcountries.eu/data/prk.svg', + currency: 'North Korean won' + }, + { + name: 'Northern Mariana Islands', + capital: 'Saipan', + languages: ['English', 'Chamorro'], + population: 56940, + flag: 'https://restcountries.eu/data/mnp.svg', + currency: 'United States dollar' + }, + { + name: 'Norway', + capital: 'Oslo', + languages: ['Norwegian', 'Norwegian Bokmål', 'Norwegian Nynorsk'], + population: 5223256, + flag: 'https://restcountries.eu/data/nor.svg', + currency: 'Norwegian krone' + }, + { + name: 'Oman', + capital: 'Muscat', + languages: ['Arabic'], + population: 4420133, + flag: 'https://restcountries.eu/data/omn.svg', + currency: 'Omani rial' + }, + { + name: 'Pakistan', + capital: 'Islamabad', + languages: ['English', 'Urdu'], + population: 194125062, + flag: 'https://restcountries.eu/data/pak.svg', + currency: 'Pakistani rupee' + }, + { + name: 'Palau', + capital: 'Ngerulmud', + languages: ['English'], + population: 17950, + flag: 'https://restcountries.eu/data/plw.svg', + currency: '[E]' + }, + { + name: 'Palestine, State of', + capital: 'Ramallah', + languages: ['Arabic'], + population: 4682467, + flag: 'https://restcountries.eu/data/pse.svg', + currency: 'Israeli new sheqel' + }, + { + name: 'Panama', + capital: 'Panama City', + languages: ['Spanish'], + population: 3814672, + flag: 'https://restcountries.eu/data/pan.svg', + currency: 'Panamanian balboa' + }, + { + name: 'Papua New Guinea', + capital: 'Port Moresby', + languages: ['English'], + population: 8083700, + flag: 'https://restcountries.eu/data/png.svg', + currency: 'Papua New Guinean kina' + }, + { + name: 'Paraguay', + capital: 'Asunción', + languages: ['Spanish', 'Guaraní'], + population: 6854536, + flag: 'https://restcountries.eu/data/pry.svg', + currency: 'Paraguayan guaraní' + }, + { + name: 'Peru', + capital: 'Lima', + languages: ['Spanish'], + population: 31488700, + flag: 'https://restcountries.eu/data/per.svg', + currency: 'Peruvian sol' + }, + { + name: 'Philippines', + capital: 'Manila', + languages: ['English'], + population: 103279800, + flag: 'https://restcountries.eu/data/phl.svg', + currency: 'Philippine peso' + }, + { + name: 'Pitcairn', + capital: 'Adamstown', + languages: ['English'], + population: 56, + flag: 'https://restcountries.eu/data/pcn.svg', + currency: 'New Zealand dollar' + }, + { + name: 'Poland', + capital: 'Warsaw', + languages: ['Polish'], + population: 38437239, + flag: 'https://restcountries.eu/data/pol.svg', + currency: 'Polish złoty' + }, + { + name: 'Portugal', + capital: 'Lisbon', + languages: ['Portuguese'], + population: 10374822, + flag: 'https://restcountries.eu/data/prt.svg', + currency: 'Euro' + }, + { + name: 'Puerto Rico', + capital: 'San Juan', + languages: ['Spanish', 'English'], + population: 3474182, + flag: 'https://restcountries.eu/data/pri.svg', + currency: 'United States dollar' + }, + { + name: 'Qatar', + capital: 'Doha', + languages: ['Arabic'], + population: 2587564, + flag: 'https://restcountries.eu/data/qat.svg', + currency: 'Qatari riyal' + }, + { + name: 'Republic of Kosovo', + capital: 'Pristina', + languages: ['Albanian', 'Serbian'], + population: 1733842, + flag: 'https://restcountries.eu/data/kos.svg', + currency: 'Euro' + }, + { + name: 'Réunion', + capital: 'Saint-Denis', + languages: ['French'], + population: 840974, + flag: 'https://restcountries.eu/data/reu.svg', + currency: 'Euro' + }, + { + name: 'Romania', + capital: 'Bucharest', + languages: ['Romanian'], + population: 19861408, + flag: 'https://restcountries.eu/data/rou.svg', + currency: 'Romanian leu' + }, + { + name: 'Russian Federation', + capital: 'Moscow', + languages: ['Russian'], + population: 146599183, + flag: 'https://restcountries.eu/data/rus.svg', + currency: 'Russian ruble' + }, + { + name: 'Rwanda', + capital: 'Kigali', + languages: ['Kinyarwanda', 'English', 'French'], + population: 11553188, + flag: 'https://restcountries.eu/data/rwa.svg', + currency: 'Rwandan franc' + }, + { + name: 'Saint Barthélemy', + capital: 'Gustavia', + languages: ['French'], + population: 9417, + flag: 'https://restcountries.eu/data/blm.svg', + currency: 'Euro' + }, + { + name: 'Saint Helena, Ascension and Tristan da Cunha', + capital: 'Jamestown', + languages: ['English'], + population: 4255, + flag: 'https://restcountries.eu/data/shn.svg', + currency: 'Saint Helena pound' + }, + { + name: 'Saint Kitts and Nevis', + capital: 'Basseterre', + languages: ['English'], + population: 46204, + flag: 'https://restcountries.eu/data/kna.svg', + currency: 'East Caribbean dollar' + }, + { + name: 'Saint Lucia', + capital: 'Castries', + languages: ['English'], + population: 186000, + flag: 'https://restcountries.eu/data/lca.svg', + currency: 'East Caribbean dollar' + }, + { + name: 'Saint Martin (French part)', + capital: 'Marigot', + languages: ['English', 'French', 'Dutch'], + population: 36979, + flag: 'https://restcountries.eu/data/maf.svg', + currency: 'Euro' + }, + { + name: 'Saint Pierre and Miquelon', + capital: 'Saint-Pierre', + languages: ['French'], + population: 6069, + flag: 'https://restcountries.eu/data/spm.svg', + currency: 'Euro' + }, + { + name: 'Saint Vincent and the Grenadines', + capital: 'Kingstown', + languages: ['English'], + population: 109991, + flag: 'https://restcountries.eu/data/vct.svg', + currency: 'East Caribbean dollar' + }, + { + name: 'Samoa', + capital: 'Apia', + languages: ['Samoan', 'English'], + population: 194899, + flag: 'https://restcountries.eu/data/wsm.svg', + currency: 'Samoan tālā' + }, + { + name: 'San Marino', + capital: 'City of San Marino', + languages: ['Italian'], + population: 33005, + flag: 'https://restcountries.eu/data/smr.svg', + currency: 'Euro' + }, + { + name: 'Sao Tome and Principe', + capital: 'São Tomé', + languages: ['Portuguese'], + population: 187356, + flag: 'https://restcountries.eu/data/stp.svg', + currency: 'São Tomé and Príncipe dobra' + }, + { + name: 'Saudi Arabia', + capital: 'Riyadh', + languages: ['Arabic'], + population: 32248200, + flag: 'https://restcountries.eu/data/sau.svg', + currency: 'Saudi riyal' + }, + { + name: 'Senegal', + capital: 'Dakar', + languages: ['French'], + population: 14799859, + flag: 'https://restcountries.eu/data/sen.svg', + currency: 'West African CFA franc' + }, + { + name: 'Serbia', + capital: 'Belgrade', + languages: ['Serbian'], + population: 7076372, + flag: 'https://restcountries.eu/data/srb.svg', + currency: 'Serbian dinar' + }, + { + name: 'Seychelles', + capital: 'Victoria', + languages: ['French', 'English'], + population: 91400, + flag: 'https://restcountries.eu/data/syc.svg', + currency: 'Seychellois rupee' + }, + { + name: 'Sierra Leone', + capital: 'Freetown', + languages: ['English'], + population: 7075641, + flag: 'https://restcountries.eu/data/sle.svg', + currency: 'Sierra Leonean leone' + }, + { + name: 'Singapore', + capital: 'Singapore', + languages: ['English', 'Malay', 'Tamil', 'Chinese'], + population: 5535000, + flag: 'https://restcountries.eu/data/sgp.svg', + currency: 'Brunei dollar' + }, + { + name: 'Sint Maarten (Dutch part)', + capital: 'Philipsburg', + languages: ['Dutch', 'English'], + population: 38247, + flag: 'https://restcountries.eu/data/sxm.svg', + currency: 'Netherlands Antillean guilder' + }, + { + name: 'Slovakia', + capital: 'Bratislava', + languages: ['Slovak'], + population: 5426252, + flag: 'https://restcountries.eu/data/svk.svg', + currency: 'Euro' + }, + { + name: 'Slovenia', + capital: 'Ljubljana', + languages: ['Slovene'], + population: 2064188, + flag: 'https://restcountries.eu/data/svn.svg', + currency: 'Euro' + }, + { + name: 'Solomon Islands', + capital: 'Honiara', + languages: ['English'], + population: 642000, + flag: 'https://restcountries.eu/data/slb.svg', + currency: 'Solomon Islands dollar' + }, + { + name: 'Somalia', + capital: 'Mogadishu', + languages: ['Somali', 'Arabic'], + population: 11079000, + flag: 'https://restcountries.eu/data/som.svg', + currency: 'Somali shilling' + }, + { + name: 'South Africa', + capital: 'Pretoria', + languages: [ + 'Afrikaans', + 'English', + 'Southern Ndebele', + 'Southern Sotho', + 'Swati', + 'Tswana', + 'Tsonga', + 'Venda', + 'Xhosa', + 'Zulu' + ], + population: 55653654, + flag: 'https://restcountries.eu/data/zaf.svg', + currency: 'South African rand' + }, + { + name: 'South Georgia and the South Sandwich Islands', + capital: 'King Edward Point', + languages: ['English'], + population: 30, + flag: 'https://restcountries.eu/data/sgs.svg', + currency: 'British pound' + }, + { + name: 'Korea (Republic of)', + capital: 'Seoul', + languages: ['Korean'], + population: 50801405, + flag: 'https://restcountries.eu/data/kor.svg', + currency: 'South Korean won' + }, + { + name: 'South Sudan', + capital: 'Juba', + languages: ['English'], + population: 12131000, + flag: 'https://restcountries.eu/data/ssd.svg', + currency: 'South Sudanese pound' + }, + { + name: 'Spain', + capital: 'Madrid', + languages: ['Spanish'], + population: 46438422, + flag: 'https://restcountries.eu/data/esp.svg', + currency: 'Euro' + }, + { + name: 'Sri Lanka', + capital: 'Colombo', + languages: ['Sinhalese', 'Tamil'], + population: 20966000, + flag: 'https://restcountries.eu/data/lka.svg', + currency: 'Sri Lankan rupee' + }, + { + name: 'Sudan', + capital: 'Khartoum', + languages: ['Arabic', 'English'], + population: 39598700, + flag: 'https://restcountries.eu/data/sdn.svg', + currency: 'Sudanese pound' + }, + { + name: 'Suriname', + capital: 'Paramaribo', + languages: ['Dutch'], + population: 541638, + flag: 'https://restcountries.eu/data/sur.svg', + currency: 'Surinamese dollar' + }, + { + name: 'Svalbard and Jan Mayen', + capital: 'Longyearbyen', + languages: ['Norwegian'], + population: 2562, + flag: 'https://restcountries.eu/data/sjm.svg', + currency: 'Norwegian krone' + }, + { + name: 'Swaziland', + capital: 'Lobamba', + languages: ['English', 'Swati'], + population: 1132657, + flag: 'https://restcountries.eu/data/swz.svg', + currency: 'Swazi lilangeni' + }, + { + name: 'Sweden', + capital: 'Stockholm', + languages: ['Swedish'], + population: 9894888, + flag: 'https://restcountries.eu/data/swe.svg', + currency: 'Swedish krona' + }, + { + name: 'Switzerland', + capital: 'Bern', + languages: ['German', 'French', 'Italian'], + population: 8341600, + flag: 'https://restcountries.eu/data/che.svg', + currency: 'Swiss franc' + }, + { + name: 'Syrian Arab Republic', + capital: 'Damascus', + languages: ['Arabic'], + population: 18564000, + flag: 'https://restcountries.eu/data/syr.svg', + currency: 'Syrian pound' + }, + { + name: 'Taiwan', + capital: 'Taipei', + languages: ['Chinese'], + population: 23503349, + flag: 'https://restcountries.eu/data/twn.svg', + currency: 'New Taiwan dollar' + }, + { + name: 'Tajikistan', + capital: 'Dushanbe', + languages: ['Tajik', 'Russian'], + population: 8593600, + flag: 'https://restcountries.eu/data/tjk.svg', + currency: 'Tajikistani somoni' + }, + { + name: 'Tanzania, United Republic of', + capital: 'Dodoma', + languages: ['Swahili', 'English'], + population: 55155000, + flag: 'https://restcountries.eu/data/tza.svg', + currency: 'Tanzanian shilling' + }, + { + name: 'Thailand', + capital: 'Bangkok', + languages: ['Thai'], + population: 65327652, + flag: 'https://restcountries.eu/data/tha.svg', + currency: 'Thai baht' + }, + { + name: 'Timor-Leste', + capital: 'Dili', + languages: ['Portuguese'], + population: 1167242, + flag: 'https://restcountries.eu/data/tls.svg', + currency: 'United States dollar' + }, + { + name: 'Togo', + capital: 'Lomé', + languages: ['French'], + population: 7143000, + flag: 'https://restcountries.eu/data/tgo.svg', + currency: 'West African CFA franc' + }, + { + name: 'Tokelau', + capital: 'Fakaofo', + languages: ['English'], + population: 1411, + flag: 'https://restcountries.eu/data/tkl.svg', + currency: 'New Zealand dollar' + }, + { + name: 'Tonga', + capital: "Nuku'alofa", + languages: ['English', 'Tonga (Tonga Islands)'], + population: 103252, + flag: 'https://restcountries.eu/data/ton.svg', + currency: 'Tongan paʻanga' + }, + { + name: 'Trinidad and Tobago', + capital: 'Port of Spain', + languages: ['English'], + population: 1349667, + flag: 'https://restcountries.eu/data/tto.svg', + currency: 'Trinidad and Tobago dollar' + }, + { + name: 'Tunisia', + capital: 'Tunis', + languages: ['Arabic'], + population: 11154400, + flag: 'https://restcountries.eu/data/tun.svg', + currency: 'Tunisian dinar' + }, + { + name: 'Turkey', + capital: 'Ankara', + languages: ['Turkish'], + population: 78741053, + flag: 'https://restcountries.eu/data/tur.svg', + currency: 'Turkish lira' + }, + { + name: 'Turkmenistan', + capital: 'Ashgabat', + languages: ['Turkmen', 'Russian'], + population: 4751120, + flag: 'https://restcountries.eu/data/tkm.svg', + currency: 'Turkmenistan manat' + }, + { + name: 'Turks and Caicos Islands', + capital: 'Cockburn Town', + languages: ['English'], + population: 31458, + flag: 'https://restcountries.eu/data/tca.svg', + currency: 'United States dollar' + }, + { + name: 'Tuvalu', + capital: 'Funafuti', + languages: ['English'], + population: 10640, + flag: 'https://restcountries.eu/data/tuv.svg', + currency: 'Australian dollar' + }, + { + name: 'Uganda', + capital: 'Kampala', + languages: ['English', 'Swahili'], + population: 33860700, + flag: 'https://restcountries.eu/data/uga.svg', + currency: 'Ugandan shilling' + }, + { + name: 'Ukraine', + capital: 'Kiev', + languages: ['Ukrainian'], + population: 42692393, + flag: 'https://restcountries.eu/data/ukr.svg', + currency: 'Ukrainian hryvnia' + }, + { + name: 'United Arab Emirates', + capital: 'Abu Dhabi', + languages: ['Arabic'], + population: 9856000, + flag: 'https://restcountries.eu/data/are.svg', + currency: 'United Arab Emirates dirham' + }, + { + name: 'United Kingdom of Great Britain and Northern Ireland', + capital: 'London', + languages: ['English'], + population: 65110000, + flag: 'https://restcountries.eu/data/gbr.svg', + currency: 'British pound' + }, + { + name: 'United States of America', + capital: 'Washington, D.C.', + languages: ['English'], + population: 323947000, + flag: 'https://restcountries.eu/data/usa.svg', + currency: 'United States dollar' + }, + { + name: 'Uruguay', + capital: 'Montevideo', + languages: ['Spanish'], + population: 3480222, + flag: 'https://restcountries.eu/data/ury.svg', + currency: 'Uruguayan peso' + }, + { + name: 'Uzbekistan', + capital: 'Tashkent', + languages: ['Uzbek', 'Russian'], + population: 31576400, + flag: 'https://restcountries.eu/data/uzb.svg', + currency: "Uzbekistani so'm" + }, + { + name: 'Vanuatu', + capital: 'Port Vila', + languages: ['Bislama', 'English', 'French'], + population: 277500, + flag: 'https://restcountries.eu/data/vut.svg', + currency: 'Vanuatu vatu' + }, + { + name: 'Venezuela (Bolivarian Republic of)', + capital: 'Caracas', + languages: ['Spanish'], + population: 31028700, + flag: 'https://restcountries.eu/data/ven.svg', + currency: 'Venezuelan bolívar' + }, + { + name: 'Viet Nam', + capital: 'Hanoi', + languages: ['Vietnamese'], + population: 92700000, + flag: 'https://restcountries.eu/data/vnm.svg', + currency: 'Vietnamese đồng' + }, + { + name: 'Wallis and Futuna', + capital: 'Mata-Utu', + languages: ['French'], + population: 11750, + flag: 'https://restcountries.eu/data/wlf.svg', + currency: 'CFP franc' + }, + { + name: 'Western Sahara', + capital: 'El Aaiún', + languages: ['Spanish'], + population: 510713, + flag: 'https://restcountries.eu/data/esh.svg', + currency: 'Moroccan dirham' + }, + { + name: 'Yemen', + capital: "Sana'a", + languages: ['Arabic'], + population: 27478000, + flag: 'https://restcountries.eu/data/yem.svg', + currency: 'Yemeni rial' + }, + { + name: 'Zambia', + capital: 'Lusaka', + languages: ['English'], + population: 15933883, + flag: 'https://restcountries.eu/data/zmb.svg', + currency: 'Zambian kwacha' + }, + { + name: 'Zimbabwe', + capital: 'Harare', + languages: ['English', 'Shona', 'Northern Ndebele'], + population: 14240168, + flag: 'https://restcountries.eu/data/zwe.svg', + currency: 'Botswana pula' + } +] diff --git a/11_Day/11_day_starter/index.html b/11_Day/11_day_starter/index.html new file mode 100644 index 00000000..6efcab4f --- /dev/null +++ b/11_Day/11_day_starter/index.html @@ -0,0 +1,17 @@ + + + + + 30DaysOfJavaScript:11 Day + + + +

30DaysOfJavaScript:11 Day

+

Destructuring and Spread

+ + + + + + + \ No newline at end of file diff --git a/11_Day/11_day_starter/scripts/main.js b/11_Day/11_day_starter/scripts/main.js new file mode 100644 index 00000000..c6045c83 --- /dev/null +++ b/11_Day/11_day_starter/scripts/main.js @@ -0,0 +1,2 @@ +console.log(countries) +alert('Open the console and check if the countries has been loaded') \ No newline at end of file diff --git a/11_Day/11_destructuring_and_spread.md b/11_Day/11_destructuring_and_spread.md index 124302a3..44bf4ff0 100644 --- a/11_Day/11_destructuring_and_spread.md +++ b/11_Day/11_destructuring_and_spread.md @@ -13,7 +13,7 @@ -[<< Day 10](https://github.com/Asabeneh/30DaysOfJavaScript/blob/master/09_Day/09_day_Set_and_Map.md) | [Day 12>>](#) +[<< Day 10](https://github.com/Asabeneh/30DaysOfJavaScript/blob/master/09_Day/09_day_Set_and_Map.md) | [Day 12>>](https://github.com/Asabeneh/30DaysOfJavaScript/blob/master/12_Day/12_day_regular_expressions.md) ![Day 11](../images/banners/day_1_11.png) @@ -688,6 +688,7 @@ const users = [ } } +``` 🎉 CONGRATULATIONS ! 🎉 -[<< Day 10](https://github.com/Asabeneh/30DaysOfJavaScript/blob/master/09_Day/09_day_Set_and_Map.md) | [Day 12>>](#) \ No newline at end of file +[<< Day 10](https://github.com/Asabeneh/30DaysOfJavaScript/blob/master/09_Day/09_day_Set_and_Map.md) | [Day 12>>](https://github.com/Asabeneh/30DaysOfJavaScript/blob/master/12_Day/12_day_regular_expressions.md) \ No newline at end of file diff --git a/12_Day/12_day_regular_expressions.md b/12_Day/12_day_regular_expressions.md new file mode 100644 index 00000000..ed644bb1 --- /dev/null +++ b/12_Day/12_day_regular_expressions.md @@ -0,0 +1,500 @@ +
+

30 Days Of JavaScript

+ + + + + Twitter Follow + + Author: + Asabeneh Yetayeh
+ January, 2020 +
+
+ +[<< Day 11](https://github.com/Asabeneh/30DaysOfJavaScript/blob/master/11_Day/11_day_destructuring_and_spread.md) | [Day 13>>](#) + +![Thirty Days Of JavaScript](../images/banners/day_1_12.png) + +- [📘 Day 12](#%f0%9f%93%98-day-12) + - [Regular Expressions](#regular-expressions) + - [RegEx parameters](#regex-parameters) + - [Pattern](#pattern) + - [Flags](#flags) + - [Creating a pattern with RegEx Constructor](#creating-a-pattern-with-regex-constructor) + - [Creating a pattern without RegEx Constructor](#creating-a-pattern-without-regex-constructor) + - [RegExp Object Methods](#regexp-object-methods) + - [Testing for a match](#testing-for-a-match) + - [Array containing all of the match](#array-containing-all-of-the-match) + - [Replacing a substring](#replacing-a-substring) + - [Square Bracket](#square-bracket) + - [Escape character(\\) in RegEx](#escape-character-in-regex) + - [One or more times(+)](#one-or-more-times) + - [Period(.)](#period) + - [Zero or more times(*)](#zero-or-more-times) + - [Zero or one times(?)](#zero-or-one-times) + - [Quantifier in RegEx](#quantifier-in-regex) + - [Cart ^](#cart) + - [Exact match](#exact-match) + - [💻 Exercises](#%f0%9f%92%bb-exercises) + - [Exercises: Level 1](#exercises-level-1) + - [Exercises: Level 2](#exercises-level-2) + - [Exercises: Level 3](#exercises-level-3) + +# 📘 Day 12 + +## Regular Expressions + +A regular expression or RegEx is a small programming language that helps to find pattern in data. A RegEx can be used to check if some pattern exists in a different data types. To use RegEx in JavaScript either we use RegEx constructor or we can declare a RegEx pattern using two forward slashes followed by a flag. We can create a pattern in two ways. + +To declare a string we use a single quote, double quote a backtick to declare a regular expression we use two forward slashes and an optional flag. The flag could be g, i, m, s, u or y. + +### RegEx parameters + +A regular expression takes two parameters. One required search pattern and an optional flag. + +#### Pattern + +A pattern could be a text or any form of pattern which some sort of similarity. For instance the word spam in an email could be a pattern we are interested to look for in an email or a phone number format number might be our interest to look for. + +#### Flags + +Flags are optional parameters in a regular expression which determine the type of searching. Let see some of the flags: + +- g:is a global flag which means looking for a pattern in whole text +- i: case insensitive flag(it searches for both lowercase and uppercase) +- m: multiline + +### Creating a pattern with RegEx Constructor + +Declaring regular expression without global flag and case insensitive flag. + +```js +// without flag +let pattern = 'love' +let regEx = new RegEx(pattern) +``` + +Declaring regular expression with global flag and case insensitive flag. + +```js +let pattern = 'love' +let flag = 'gi' +let regEx = new RegEx(pattern, flag) +``` + +Declaring a regex pattern using RegEx object. Writing the pattern and the flag inside the RegEx constructor + +```js +let regEx = new RegEx('love','gi') +``` + +### Creating a pattern without RegEx Constructor + +Declaring regular expression with global flag and case insensitive flag. + +```js +let regEx= /love/gi +``` + +The above regular expression is the same as the one which we created with RegEx constructor + +```js +let regEx= new RegEx('love','gi') +``` + +### RegExp Object Methods + +Let see some of RegEx methods + +#### Testing for a match + +*test()*:Tests for a match in a string. It returns true or false. + +```js +const str = 'I love JavaScript' +const pattern = /love/ +const result = pattern.test(str) +console.log(result) +``` + +```sh +true +``` + +#### Array containing all of the match + +*match()*:Returns an array containing all of the matches, including capturing groups, or null if no match is found. +If we do not use a global flag, match() returns an array containing the pattern, index, input and group. + +```js +const str = 'I love JavaScript' +const pattern = /love/ +const result = str.match(pattern) +console.log(result) +``` + +```sh +["love", index: 2, input: "I love JavaScript", groups: undefined] +``` + +```js +const str = 'I love JavaScript' +const pattern = /love/g +const result = str.match(pattern) +console.log(result) +``` + +```sh +["love"] +``` + +*search()*: Tests for a match in a string. It returns the index of the match, or -1 if the search fails. + +```js +const str = 'I love JavaScript' +const pattern = /love/g +const result = str.search(pattern) +console.log(result) +``` + +```sh +2 +``` + +#### Replacing a substring + +*replace()*: Executes a search for a match in a string, and replaces the matched substring with a replacement substring. + +```js +const txt = 'Python is the most beautiful language that a human begin has ever created.\ +I recommend python for a first programming language' + +matchReplaced = txt.replace(/Python|python/, 'JavaScript') +console.log(matchReplaced) +``` + +```sh +JavaScript is the most beautiful language that a human begin has ever created.I recommend python for a first programming language +``` + +```js +const txt = 'Python is the most beautiful language that a human begin has ever created.\ +I recommend python for a first programming language' + +matchReplaced = txt.replace(/Python|python/g, 'JavaScript') +console.log(matchReplaced) +``` + +```sh +JavaScript is the most beautiful language that a human begin has ever created.I recommend JavaScript for a first programming language +``` + +```js +const txt = 'Python is the most beautiful language that a human begin has ever created.\ +I recommend python for a first programming language' + +matchReplaced = txt.replace(/Python/gi, 'JavaScript') +console.log(matchReplaced) +``` + +```sh +JavaScript is the most beautiful language that a human begin has ever created.I recommend JavaScript for a first programming language +``` + +```js + +const txt = '%I a%m te%%a%%che%r% a%n%d %% I l%o%ve te%ach%ing.\ +T%he%re i%s n%o%th%ing as m%ore r%ewarding a%s e%duc%at%i%ng a%n%d e%m%p%ow%er%ing \ +p%e%o%ple.\ +I fo%und te%a%ching m%ore i%n%t%er%%es%ting t%h%an any other %jobs.\ +D%o%es thi%s m%ot%iv%a%te %y%o%u to b%e a t%e%a%cher.' + +matches = txt.replace(/%/g, '') +console.log(matches) +``` + +```sh +I am teacher and I love teaching.There is nothing as more rewarding as educating and empowering people.I found teaching more interesting than any other jobs.Does this motivate you to be a teacher. +``` + +* []: A set of characters + * [a-c] means, a or b or c + * [a-z] means, any letter a to z + * [A-Z] means, any character A to Z + * [0-3] means, 0 or 1 or 2 or 3 + * [0-9] means any number 0 to 9 + * [A-Za-z0-9] any character which is a to z, A to Z, 0 to 9 +* \\: uses to escape special characters + * \d mean:match where the string contains digits (numbers from 0-9) + * \D mean: match where the string does not contain digits +* . : any character except new line character(\n) +* ^: starts with + * r'^substring' eg r'^love', a sentence which starts with a word love + * r'[^abc] mean not a, not b, not c. +* $: ends with + * r'substring$' eg r'love$', sentence ends with a word love +* *: zero or more times + * r'[a]*' means a optional or it can be occur many times. +* +: one or more times + * r'[a]+' mean at least once or more times +* ?: zero or one times + * r'[a]?' mean zero times or once +* {3}: Exactly 3 characters +* {3,}: At least 3 character +* {3,8}: 3 to 8 characters +* |: Either or + * r'apple|banana' mean either of an apple or a banana +* (): Capture and group + +![Regular Expression cheat sheet](../images/regex.png) + +Let's use example to clarify the above meta characters + +### Square Bracket + +Let's use square bracket to include lower and upper case + +```js +const pattern = '[Aa]pple' // this square bracket mean either A or a +const txt = 'Apple and banana are fruits. An old cliche says an apple a day a doctor way has been replaced by a banana a day keeps the doctor far far away. ' +const matches = txt.match(pattern) + +console.log(matches) +``` + +```sh +["Apple", index: 0, input: "Apple and banana are fruits. An old cliche says an…by a banana a day keeps the doctor far far away. ", groups: undefined] + +``` + +```js +const pattern = /[Aa]pple/g // this square bracket mean either A or a +const txt = 'Apple and banana are fruits. An old cliche says an apple a day a doctor way has been replaced by a banana a day keeps the doctor far far away. ' +const matches = txt.match(pattern) + +console.log(matches) +``` + +```sh +["Apple", "apple"] +``` + +If we want to look for the banana, we write the pattern as follows: + +```js +const pattern = /[Aa]pple|[Bb]anana/g // this square bracket mean either A or a +const txt = 'Apple and banana are fruits. An old cliche says an apple a day a doctor way has been replaced by a banana a day keeps the doctor far far away. Banana is easy to eat too.' +const matches = txt.match(pattern) + +console.log(matches) +``` + +```sh +["Apple", "banana", "apple", "banana", "Banana"] +``` + +Using the square bracket and or operator , we manage to extract Apple, apple, Banana and banana. + +### Escape character(\\) in RegEx + +```js +const pattern = /\d/g // d is a special character which means digits +const txt = 'This regular expression example was made in January 12, 2020.' +const matches = txt. match(pattern) + +console.log(matches) // ["1", "2", "2", "0", "2", "0"], this is not what we want +``` + +```js +const pattern = /\d+/g // d is a special character which means digits +const txt = 'This regular expression example was made in January 12, 2020.' +const matches = txt. match(pattern) + +console.log(matches) // ["12", "2020"], this is not what we want +``` + +### One or more times(+) + +```js +const pattern = /\d+/g // d is a special character which means digits +const txt = 'This regular expression example was made in January 12, 2020.' +const matches = txt. match(pattern) +console.log(matches) // ["12", "2020"], this is not what we want +``` + +### Period(.) + +```js +const pattern = /[a]./g // this square bracket means a and . means any character except new line +const txt = 'Apple and banana are fruits' +const matches = txt.match(pattern) + +console.log(matches) // ["an", "an", "an", "a ", "ar"] +``` + +```js +const pattern = /[a].+/g // . any character, + any character one or more times +const txt = 'Apple and banana are fruits' +const matches = txt.match(pattern) + +console.log(matches) // ['and banana are fruits'] +``` + +### Zero or more times(*) + +Zero or many times. The pattern could may not occur or it can occur many times. + +```js + +const pattern = /[a].*/g //. any character, + any character one or more times +const txt = 'Apple and banana are fruits' +const matches = re.match(pattern) + +console.log(matches) // ['and banana are fruits'] + +``` + +### Zero or one times(?) + +Zero or one times. The pattern could may not occur or it may occur once. + +```js +const txt = 'I am not sure if there is a convention how to write the word e-mail.\ +Some people write it email others may write it as Email or E-mail.' +const pattern = /[Ee]-?mail/g // ? means optional +matches = txt.match(pattern) + +console.log(matches) // ["e-mail", "email", "Email", "E-mail"] + +``` + +### Quantifier in RegEx + +We can specify the length of the substring we look for in a text, using a curly bracket. Lets imagine, we are interested in substring that their length are 4 characters + +```js +const txt = 'This regular expression example was made in December 6, 2019.' +const pattern = /\d{4}/g // exactly four times +const matches = txt.match(pattern) +console.log(matches) // ['2019'] +``` + +```js +const txt = 'This regular expression example was made in December 6, 2019.' +const regex_pattern = /\d{1, 4}/g // 1 to 4 +const matches = txt.match(pattern) +console.log(matches) // ['6', '2019'] +``` + +### Cart ^ + +- Starts with + +```js +const txt = 'This regular expression example was made in December 6, 2019.' +const pattern = /^This/ // ^ means starts with +const matches = txt.match(pattern) +console.log(matches) / ['This'] +``` + +- Negation + +```js +const txt = 'This regular expression example was made in December 6, 2019.' +const pattern = /[^A-Za-z,. ]+/g // ^ in set character means negation, not A to Z, not a to z, no space, no coma no period +const matches = txt.match(pattern) +console.log(matches) ["6", "2019"] +``` + +### Exact match + +It should hav ^ starting and $ which is an end. + +```js +let pattern = /^[A-Z][a-z]{3,12}$/; +let name = 'Asabeneh'; +let result = pattern.test(name) + +console.log(result) // true +``` + +🌕 You are going far. Keep going! Now, you are super charged with the power of regular expression. You have the power to extract and clean any kind of text and you can make meaning out of unstructured data. You have just completed day 12 challenges and you are 12 steps a head in to your way to greatness. Now do some exercises for your brain and for your muscle. + +## 💻 Exercises + +### Exercises: Level 1 + +1. Calculate the total annual income of the person from the following text. ‘He earns 4000 euro from salary per month, 10000 euro annual bonus, 5500 euro online courses per month.’ + +### Exercises: Level 2 + +1. What is the most frequent word in the following paragraph ? + +```js + paragraph = 'I love teaching. If you do not love teaching what else can you love. I love Python if you do not love something which can give you all the capabilities to develop an application what else can you love. +``` + +```sh + [(6, 'love'), + (5, 'you'), + (3, 'can'), + (2, 'what'), + (2, 'teaching'), + (2, 'not'), + (2, 'else'), + (2, 'do'), + (2, 'I'), + (1, 'which'), + (1, 'to'), + (1, 'the'), + (1, 'something'), + (1, 'if'), + (1, 'give'), + (1, 'develop'), + (1, 'capabilities'), + (1, 'application'), + (1, 'an'), + (1, 'all'), + (1, 'Python'), + (1, 'If')] +``` + +1. The position of some particles on the horizontal x-axis -12, -4, -3 and -1 in the negative direction, 0 at origin, 4 and 8 in the positive direction. Extract these numbers and find the distance between the two furthest particles. + +```js +points = ['-1', '2', '-4', '-3', '-1', '0', '4', '8'] +sortedPoints = [-4, -3, -1, -1, 0, 2, 4, 8] +distance = 12 +``` + +1. Write a pattern which identify if a string is a valid JavaScript variable + + ```sh + is_valid_variable('first_name') # True + is_valid_variable('first-name') # False + is_valid_variable('1first_name') # False + is_valid_variable('firstname') # True + ``` + +### Exercises: Level 3 + +1. Writ a function which cleans text. Clean the following text. After cleaning, count three most frequent words in the string. + + ```js + sentence = '''%I $am@% a %tea@cher%, &and& I lo%#ve %tea@ching%;. There $is nothing; &as& mo@re rewarding as educa@ting &and& @emp%o@wering peo@ple. ;I found tea@ching m%o@re interesting tha@n any other %jo@bs. %Do@es thi%s mo@tivate yo@u to be a tea@cher!?''' + + console.log(cleanText(sentence)) + + I am a teacher and I love teaching There is nothing as more rewarding as educating and empowering people I found teaching more interesting than any other jobs Does this motivate you to be a teacher + ``` +1. Write a function which find the most frequent words. After cleaning, count three most frequent words in the string. + +```js + console.log(mostFrequentWords(cleaned_text)) + [(3, 'I'), (2, 'teaching'), (2, 'teacher')] +``` + +🎉 CONGRATULATIONS ! 🎉 + +[<< Day 11](https://github.com/Asabeneh/30DaysOfJavaScript/blob/master/11_Day/11_day_destructuring_and_spread.md) | [Day 13>>](#) diff --git a/12_Day/12_day_starter/data/countries_data.js b/12_Day/12_day_starter/data/countries_data.js new file mode 100644 index 00000000..92acddd2 --- /dev/null +++ b/12_Day/12_day_starter/data/countries_data.js @@ -0,0 +1,2013 @@ +const countries = [ + { + name: 'Afghanistan', + capital: 'Kabul', + languages: ['Pashto', 'Uzbek', 'Turkmen'], + population: 27657145, + flag: 'https://restcountries.eu/data/afg.svg', + currency: 'Afghan afghani' + }, + { + name: 'Åland Islands', + capital: 'Mariehamn', + languages: ['Swedish'], + population: 28875, + flag: 'https://restcountries.eu/data/ala.svg', + currency: 'Euro' + }, + { + name: 'Albania', + capital: 'Tirana', + languages: ['Albanian'], + population: 2886026, + flag: 'https://restcountries.eu/data/alb.svg', + currency: 'Albanian lek' + }, + { + name: 'Algeria', + capital: 'Algiers', + languages: ['Arabic'], + population: 40400000, + flag: 'https://restcountries.eu/data/dza.svg', + currency: 'Algerian dinar' + }, + { + name: 'American Samoa', + capital: 'Pago Pago', + languages: ['English', 'Samoan'], + population: 57100, + flag: 'https://restcountries.eu/data/asm.svg', + currency: 'United State Dollar' + }, + { + name: 'Andorra', + capital: 'Andorra la Vella', + languages: ['Catalan'], + population: 78014, + flag: 'https://restcountries.eu/data/and.svg', + currency: 'Euro' + }, + { + name: 'Angola', + capital: 'Luanda', + languages: ['Portuguese'], + population: 25868000, + flag: 'https://restcountries.eu/data/ago.svg', + currency: 'Angolan kwanza' + }, + { + name: 'Anguilla', + capital: 'The Valley', + languages: ['English'], + population: 13452, + flag: 'https://restcountries.eu/data/aia.svg', + currency: 'East Caribbean dollar' + }, + { + name: 'Antarctica', + capital: '', + languages: ['English', 'Russian'], + population: 1000, + flag: 'https://restcountries.eu/data/ata.svg', + currency: 'Australian dollar' + }, + { + name: 'Antigua and Barbuda', + capital: "Saint John's", + languages: ['English'], + population: 86295, + flag: 'https://restcountries.eu/data/atg.svg', + currency: 'East Caribbean dollar' + }, + { + name: 'Argentina', + capital: 'Buenos Aires', + languages: ['Spanish', 'Guaraní'], + population: 43590400, + flag: 'https://restcountries.eu/data/arg.svg', + currency: 'Argentine peso' + }, + { + name: 'Armenia', + capital: 'Yerevan', + languages: ['Armenian', 'Russian'], + population: 2994400, + flag: 'https://restcountries.eu/data/arm.svg', + currency: 'Armenian dram' + }, + { + name: 'Aruba', + capital: 'Oranjestad', + languages: ['Dutch', '(Eastern) Punjabi'], + population: 107394, + flag: 'https://restcountries.eu/data/abw.svg', + currency: 'Aruban florin' + }, + { + name: 'Australia', + capital: 'Canberra', + languages: ['English'], + population: 24117360, + flag: 'https://restcountries.eu/data/aus.svg', + currency: 'Australian dollar' + }, + { + name: 'Austria', + capital: 'Vienna', + languages: ['German'], + population: 8725931, + flag: 'https://restcountries.eu/data/aut.svg', + currency: 'Euro' + }, + { + name: 'Azerbaijan', + capital: 'Baku', + languages: ['Azerbaijani'], + population: 9730500, + flag: 'https://restcountries.eu/data/aze.svg', + currency: 'Azerbaijani manat' + }, + { + name: 'Bahamas', + capital: 'Nassau', + languages: ['English'], + population: 378040, + flag: 'https://restcountries.eu/data/bhs.svg', + currency: 'Bahamian dollar' + }, + { + name: 'Bahrain', + capital: 'Manama', + languages: ['Arabic'], + population: 1404900, + flag: 'https://restcountries.eu/data/bhr.svg', + currency: 'Bahraini dinar' + }, + { + name: 'Bangladesh', + capital: 'Dhaka', + languages: ['Bengali'], + population: 161006790, + flag: 'https://restcountries.eu/data/bgd.svg', + currency: 'Bangladeshi taka' + }, + { + name: 'Barbados', + capital: 'Bridgetown', + languages: ['English'], + population: 285000, + flag: 'https://restcountries.eu/data/brb.svg', + currency: 'Barbadian dollar' + }, + { + name: 'Belarus', + capital: 'Minsk', + languages: ['Belarusian', 'Russian'], + population: 9498700, + flag: 'https://restcountries.eu/data/blr.svg', + currency: 'New Belarusian ruble' + }, + { + name: 'Belgium', + capital: 'Brussels', + languages: ['Dutch', 'French', 'German'], + population: 11319511, + flag: 'https://restcountries.eu/data/bel.svg', + currency: 'Euro' + }, + { + name: 'Belize', + capital: 'Belmopan', + languages: ['English', 'Spanish'], + population: 370300, + flag: 'https://restcountries.eu/data/blz.svg', + currency: 'Belize dollar' + }, + { + name: 'Benin', + capital: 'Porto-Novo', + languages: ['French'], + population: 10653654, + flag: 'https://restcountries.eu/data/ben.svg', + currency: 'West African CFA franc' + }, + { + name: 'Bermuda', + capital: 'Hamilton', + languages: ['English'], + population: 61954, + flag: 'https://restcountries.eu/data/bmu.svg', + currency: 'Bermudian dollar' + }, + { + name: 'Bhutan', + capital: 'Thimphu', + languages: ['Dzongkha'], + population: 775620, + flag: 'https://restcountries.eu/data/btn.svg', + currency: 'Bhutanese ngultrum' + }, + { + name: 'Bolivia (Plurinational State of)', + capital: 'Sucre', + languages: ['Spanish', 'Aymara', 'Quechua'], + population: 10985059, + flag: 'https://restcountries.eu/data/bol.svg', + currency: 'Bolivian boliviano' + }, + { + name: 'Bonaire, Sint Eustatius and Saba', + capital: 'Kralendijk', + languages: ['Dutch'], + population: 17408, + flag: 'https://restcountries.eu/data/bes.svg', + currency: 'United States dollar' + }, + { + name: 'Bosnia and Herzegovina', + capital: 'Sarajevo', + languages: ['Bosnian', 'Croatian', 'Serbian'], + population: 3531159, + flag: 'https://restcountries.eu/data/bih.svg', + currency: 'Bosnia and Herzegovina convertible mark' + }, + { + name: 'Botswana', + capital: 'Gaborone', + languages: ['English', 'Tswana'], + population: 2141206, + flag: 'https://restcountries.eu/data/bwa.svg', + currency: 'Botswana pula' + }, + { + name: 'Bouvet Island', + capital: '', + languages: ['Norwegian', 'Norwegian Bokmål', 'Norwegian Nynorsk'], + population: 0, + flag: 'https://restcountries.eu/data/bvt.svg', + currency: 'Norwegian krone' + }, + { + name: 'Brazil', + capital: 'Brasília', + languages: ['Portuguese'], + population: 206135893, + flag: 'https://restcountries.eu/data/bra.svg', + currency: 'Brazilian real' + }, + { + name: 'British Indian Ocean Territory', + capital: 'Diego Garcia', + languages: ['English'], + population: 3000, + flag: 'https://restcountries.eu/data/iot.svg', + currency: 'United States dollar' + }, + { + name: 'United States Minor Outlying Islands', + capital: '', + languages: ['English'], + population: 300, + flag: 'https://restcountries.eu/data/umi.svg', + currency: 'United States Dollar' + }, + { + name: 'Virgin Islands (British)', + capital: 'Road Town', + languages: ['English'], + population: 28514, + flag: 'https://restcountries.eu/data/vgb.svg', + currency: '[D]' + }, + { + name: 'Virgin Islands (U.S.)', + capital: 'Charlotte Amalie', + languages: ['English'], + population: 114743, + flag: 'https://restcountries.eu/data/vir.svg', + currency: 'United States dollar' + }, + { + name: 'Brunei Darussalam', + capital: 'Bandar Seri Begawan', + languages: ['Malay'], + population: 411900, + flag: 'https://restcountries.eu/data/brn.svg', + currency: 'Brunei dollar' + }, + { + name: 'Bulgaria', + capital: 'Sofia', + languages: ['Bulgarian'], + population: 7153784, + flag: 'https://restcountries.eu/data/bgr.svg', + currency: 'Bulgarian lev' + }, + { + name: 'Burkina Faso', + capital: 'Ouagadougou', + languages: ['French', 'Fula'], + population: 19034397, + flag: 'https://restcountries.eu/data/bfa.svg', + currency: 'West African CFA franc' + }, + { + name: 'Burundi', + capital: 'Bujumbura', + languages: ['French', 'Kirundi'], + population: 10114505, + flag: 'https://restcountries.eu/data/bdi.svg', + currency: 'Burundian franc' + }, + { + name: 'Cambodia', + capital: 'Phnom Penh', + languages: ['Khmer'], + population: 15626444, + flag: 'https://restcountries.eu/data/khm.svg', + currency: 'Cambodian riel' + }, + { + name: 'Cameroon', + capital: 'Yaoundé', + languages: ['English', 'French'], + population: 22709892, + flag: 'https://restcountries.eu/data/cmr.svg', + currency: 'Central African CFA franc' + }, + { + name: 'Canada', + capital: 'Ottawa', + languages: ['English', 'French'], + population: 36155487, + flag: 'https://restcountries.eu/data/can.svg', + currency: 'Canadian dollar' + }, + { + name: 'Cabo Verde', + capital: 'Praia', + languages: ['Portuguese'], + population: 531239, + flag: 'https://restcountries.eu/data/cpv.svg', + currency: 'Cape Verdean escudo' + }, + { + name: 'Cayman Islands', + capital: 'George Town', + languages: ['English'], + population: 58238, + flag: 'https://restcountries.eu/data/cym.svg', + currency: 'Cayman Islands dollar' + }, + { + name: 'Central African Republic', + capital: 'Bangui', + languages: ['French', 'Sango'], + population: 4998000, + flag: 'https://restcountries.eu/data/caf.svg', + currency: 'Central African CFA franc' + }, + { + name: 'Chad', + capital: "N'Djamena", + languages: ['French', 'Arabic'], + population: 14497000, + flag: 'https://restcountries.eu/data/tcd.svg', + currency: 'Central African CFA franc' + }, + { + name: 'Chile', + capital: 'Santiago', + languages: ['Spanish'], + population: 18191900, + flag: 'https://restcountries.eu/data/chl.svg', + currency: 'Chilean peso' + }, + { + name: 'China', + capital: 'Beijing', + languages: ['Chinese'], + population: 1377422166, + flag: 'https://restcountries.eu/data/chn.svg', + currency: 'Chinese yuan' + }, + { + name: 'Christmas Island', + capital: 'Flying Fish Cove', + languages: ['English'], + population: 2072, + flag: 'https://restcountries.eu/data/cxr.svg', + currency: 'Australian dollar' + }, + { + name: 'Cocos (Keeling) Islands', + capital: 'West Island', + languages: ['English'], + population: 550, + flag: 'https://restcountries.eu/data/cck.svg', + currency: 'Australian dollar' + }, + { + name: 'Colombia', + capital: 'Bogotá', + languages: ['Spanish'], + population: 48759958, + flag: 'https://restcountries.eu/data/col.svg', + currency: 'Colombian peso' + }, + { + name: 'Comoros', + capital: 'Moroni', + languages: ['Arabic', 'French'], + population: 806153, + flag: 'https://restcountries.eu/data/com.svg', + currency: 'Comorian franc' + }, + { + name: 'Congo', + capital: 'Brazzaville', + languages: ['French', 'Lingala'], + population: 4741000, + flag: 'https://restcountries.eu/data/cog.svg', + currency: 'Central African CFA franc' + }, + { + name: 'Congo (Democratic Republic of the)', + capital: 'Kinshasa', + languages: ['French', 'Lingala', 'Kongo', 'Swahili', 'Luba-Katanga'], + population: 85026000, + flag: 'https://restcountries.eu/data/cod.svg', + currency: 'Congolese franc' + }, + { + name: 'Cook Islands', + capital: 'Avarua', + languages: ['English'], + population: 18100, + flag: 'https://restcountries.eu/data/cok.svg', + currency: 'New Zealand dollar' + }, + { + name: 'Costa Rica', + capital: 'San José', + languages: ['Spanish'], + population: 4890379, + flag: 'https://restcountries.eu/data/cri.svg', + currency: 'Costa Rican colón' + }, + { + name: 'Croatia', + capital: 'Zagreb', + languages: ['Croatian'], + population: 4190669, + flag: 'https://restcountries.eu/data/hrv.svg', + currency: 'Croatian kuna' + }, + { + name: 'Cuba', + capital: 'Havana', + languages: ['Spanish'], + population: 11239004, + flag: 'https://restcountries.eu/data/cub.svg', + currency: 'Cuban convertible peso' + }, + { + name: 'Curaçao', + capital: 'Willemstad', + languages: ['Dutch', '(Eastern) Punjabi', 'English'], + population: 154843, + flag: 'https://restcountries.eu/data/cuw.svg', + currency: 'Netherlands Antillean guilder' + }, + { + name: 'Cyprus', + capital: 'Nicosia', + languages: ['Greek (modern)', 'Turkish', 'Armenian'], + population: 847000, + flag: 'https://restcountries.eu/data/cyp.svg', + currency: 'Euro' + }, + { + name: 'Czech Republic', + capital: 'Prague', + languages: ['Czech', 'Slovak'], + population: 10558524, + flag: 'https://restcountries.eu/data/cze.svg', + currency: 'Czech koruna' + }, + { + name: 'Denmark', + capital: 'Copenhagen', + languages: ['Danish'], + population: 5717014, + flag: 'https://restcountries.eu/data/dnk.svg', + currency: 'Danish krone' + }, + { + name: 'Djibouti', + capital: 'Djibouti', + languages: ['French', 'Arabic'], + population: 900000, + flag: 'https://restcountries.eu/data/dji.svg', + currency: 'Djiboutian franc' + }, + { + name: 'Dominica', + capital: 'Roseau', + languages: ['English'], + population: 71293, + flag: 'https://restcountries.eu/data/dma.svg', + currency: 'East Caribbean dollar' + }, + { + name: 'Dominican Republic', + capital: 'Santo Domingo', + languages: ['Spanish'], + population: 10075045, + flag: 'https://restcountries.eu/data/dom.svg', + currency: 'Dominican peso' + }, + { + name: 'Ecuador', + capital: 'Quito', + languages: ['Spanish'], + population: 16545799, + flag: 'https://restcountries.eu/data/ecu.svg', + currency: 'United States dollar' + }, + { + name: 'Egypt', + capital: 'Cairo', + languages: ['Arabic'], + population: 91290000, + flag: 'https://restcountries.eu/data/egy.svg', + currency: 'Egyptian pound' + }, + { + name: 'El Salvador', + capital: 'San Salvador', + languages: ['Spanish'], + population: 6520675, + flag: 'https://restcountries.eu/data/slv.svg', + currency: 'United States dollar' + }, + { + name: 'Equatorial Guinea', + capital: 'Malabo', + languages: ['Spanish', 'French'], + population: 1222442, + flag: 'https://restcountries.eu/data/gnq.svg', + currency: 'Central African CFA franc' + }, + { + name: 'Eritrea', + capital: 'Asmara', + languages: ['Tigrinya', 'Arabic', 'English'], + population: 5352000, + flag: 'https://restcountries.eu/data/eri.svg', + currency: 'Eritrean nakfa' + }, + { + name: 'Estonia', + capital: 'Tallinn', + languages: ['Estonian'], + population: 1315944, + flag: 'https://restcountries.eu/data/est.svg', + currency: 'Euro' + }, + { + name: 'Ethiopia', + capital: 'Addis Ababa', + languages: ['Amharic'], + population: 92206005, + flag: 'https://restcountries.eu/data/eth.svg', + currency: 'Ethiopian birr' + }, + { + name: 'Falkland Islands (Malvinas)', + capital: 'Stanley', + languages: ['English'], + population: 2563, + flag: 'https://restcountries.eu/data/flk.svg', + currency: 'Falkland Islands pound' + }, + { + name: 'Faroe Islands', + capital: 'Tórshavn', + languages: ['Faroese'], + population: 49376, + flag: 'https://restcountries.eu/data/fro.svg', + currency: 'Danish krone' + }, + { + name: 'Fiji', + capital: 'Suva', + languages: ['English', 'Fijian', 'Hindi', 'Urdu'], + population: 867000, + flag: 'https://restcountries.eu/data/fji.svg', + currency: 'Fijian dollar' + }, + { + name: 'Finland', + capital: 'Helsinki', + languages: ['Finnish', 'Swedish'], + population: 5491817, + flag: 'https://restcountries.eu/data/fin.svg', + currency: 'Euro' + }, + { + name: 'France', + capital: 'Paris', + languages: ['French'], + population: 66710000, + flag: 'https://restcountries.eu/data/fra.svg', + currency: 'Euro' + }, + { + name: 'French Guiana', + capital: 'Cayenne', + languages: ['French'], + population: 254541, + flag: 'https://restcountries.eu/data/guf.svg', + currency: 'Euro' + }, + { + name: 'French Polynesia', + capital: 'Papeetē', + languages: ['French'], + population: 271800, + flag: 'https://restcountries.eu/data/pyf.svg', + currency: 'CFP franc' + }, + { + name: 'French Southern Territories', + capital: 'Port-aux-Français', + languages: ['French'], + population: 140, + flag: 'https://restcountries.eu/data/atf.svg', + currency: 'Euro' + }, + { + name: 'Gabon', + capital: 'Libreville', + languages: ['French'], + population: 1802278, + flag: 'https://restcountries.eu/data/gab.svg', + currency: 'Central African CFA franc' + }, + { + name: 'Gambia', + capital: 'Banjul', + languages: ['English'], + population: 1882450, + flag: 'https://restcountries.eu/data/gmb.svg', + currency: 'Gambian dalasi' + }, + { + name: 'Georgia', + capital: 'Tbilisi', + languages: ['Georgian'], + population: 3720400, + flag: 'https://restcountries.eu/data/geo.svg', + currency: 'Georgian Lari' + }, + { + name: 'Germany', + capital: 'Berlin', + languages: ['German'], + population: 81770900, + flag: 'https://restcountries.eu/data/deu.svg', + currency: 'Euro' + }, + { + name: 'Ghana', + capital: 'Accra', + languages: ['English'], + population: 27670174, + flag: 'https://restcountries.eu/data/gha.svg', + currency: 'Ghanaian cedi' + }, + { + name: 'Gibraltar', + capital: 'Gibraltar', + languages: ['English'], + population: 33140, + flag: 'https://restcountries.eu/data/gib.svg', + currency: 'Gibraltar pound' + }, + { + name: 'Greece', + capital: 'Athens', + languages: ['Greek (modern)'], + population: 10858018, + flag: 'https://restcountries.eu/data/grc.svg', + currency: 'Euro' + }, + { + name: 'Greenland', + capital: 'Nuuk', + languages: ['Kalaallisut'], + population: 55847, + flag: 'https://restcountries.eu/data/grl.svg', + currency: 'Danish krone' + }, + { + name: 'Grenada', + capital: "St. George's", + languages: ['English'], + population: 103328, + flag: 'https://restcountries.eu/data/grd.svg', + currency: 'East Caribbean dollar' + }, + { + name: 'Guadeloupe', + capital: 'Basse-Terre', + languages: ['French'], + population: 400132, + flag: 'https://restcountries.eu/data/glp.svg', + currency: 'Euro' + }, + { + name: 'Guam', + capital: 'Hagåtña', + languages: ['English', 'Chamorro', 'Spanish'], + population: 184200, + flag: 'https://restcountries.eu/data/gum.svg', + currency: 'United States dollar' + }, + { + name: 'Guatemala', + capital: 'Guatemala City', + languages: ['Spanish'], + population: 16176133, + flag: 'https://restcountries.eu/data/gtm.svg', + currency: 'Guatemalan quetzal' + }, + { + name: 'Guernsey', + capital: 'St. Peter Port', + languages: ['English', 'French'], + population: 62999, + flag: 'https://restcountries.eu/data/ggy.svg', + currency: 'British pound' + }, + { + name: 'Guinea', + capital: 'Conakry', + languages: ['French', 'Fula'], + population: 12947000, + flag: 'https://restcountries.eu/data/gin.svg', + currency: 'Guinean franc' + }, + { + name: 'Guinea-Bissau', + capital: 'Bissau', + languages: ['Portuguese'], + population: 1547777, + flag: 'https://restcountries.eu/data/gnb.svg', + currency: 'West African CFA franc' + }, + { + name: 'Guyana', + capital: 'Georgetown', + languages: ['English'], + population: 746900, + flag: 'https://restcountries.eu/data/guy.svg', + currency: 'Guyanese dollar' + }, + { + name: 'Haiti', + capital: 'Port-au-Prince', + languages: ['French', 'Haitian'], + population: 11078033, + flag: 'https://restcountries.eu/data/hti.svg', + currency: 'Haitian gourde' + }, + { + name: 'Heard Island and McDonald Islands', + capital: '', + languages: ['English'], + population: 0, + flag: 'https://restcountries.eu/data/hmd.svg', + currency: 'Australian dollar' + }, + { + name: 'Holy See', + capital: 'Rome', + languages: ['Latin', 'Italian', 'French', 'German'], + population: 451, + flag: 'https://restcountries.eu/data/vat.svg', + currency: 'Euro' + }, + { + name: 'Honduras', + capital: 'Tegucigalpa', + languages: ['Spanish'], + population: 8576532, + flag: 'https://restcountries.eu/data/hnd.svg', + currency: 'Honduran lempira' + }, + { + name: 'Hong Kong', + capital: 'City of Victoria', + languages: ['English', 'Chinese'], + population: 7324300, + flag: 'https://restcountries.eu/data/hkg.svg', + currency: 'Hong Kong dollar' + }, + { + name: 'Hungary', + capital: 'Budapest', + languages: ['Hungarian'], + population: 9823000, + flag: 'https://restcountries.eu/data/hun.svg', + currency: 'Hungarian forint' + }, + { + name: 'Iceland', + capital: 'Reykjavík', + languages: ['Icelandic'], + population: 334300, + flag: 'https://restcountries.eu/data/isl.svg', + currency: 'Icelandic króna' + }, + { + name: 'India', + capital: 'New Delhi', + languages: ['Hindi', 'English'], + population: 1295210000, + flag: 'https://restcountries.eu/data/ind.svg', + currency: 'Indian rupee' + }, + { + name: 'Indonesia', + capital: 'Jakarta', + languages: ['Indonesian'], + population: 258705000, + flag: 'https://restcountries.eu/data/idn.svg', + currency: 'Indonesian rupiah' + }, + { + name: "Côte d'Ivoire", + capital: 'Yamoussoukro', + languages: ['French'], + population: 22671331, + flag: 'https://restcountries.eu/data/civ.svg', + currency: 'West African CFA franc' + }, + { + name: 'Iran (Islamic Republic of)', + capital: 'Tehran', + languages: ['Persian (Farsi)'], + population: 79369900, + flag: 'https://restcountries.eu/data/irn.svg', + currency: 'Iranian rial' + }, + { + name: 'Iraq', + capital: 'Baghdad', + languages: ['Arabic', 'Kurdish'], + population: 37883543, + flag: 'https://restcountries.eu/data/irq.svg', + currency: 'Iraqi dinar' + }, + { + name: 'Ireland', + capital: 'Dublin', + languages: ['Irish', 'English'], + population: 6378000, + flag: 'https://restcountries.eu/data/irl.svg', + currency: 'Euro' + }, + { + name: 'Isle of Man', + capital: 'Douglas', + languages: ['English', 'Manx'], + population: 84497, + flag: 'https://restcountries.eu/data/imn.svg', + currency: 'British pound' + }, + { + name: 'Israel', + capital: 'Jerusalem', + languages: ['Hebrew (modern)', 'Arabic'], + population: 8527400, + flag: 'https://restcountries.eu/data/isr.svg', + currency: 'Israeli new shekel' + }, + { + name: 'Italy', + capital: 'Rome', + languages: ['Italian'], + population: 60665551, + flag: 'https://restcountries.eu/data/ita.svg', + currency: 'Euro' + }, + { + name: 'Jamaica', + capital: 'Kingston', + languages: ['English'], + population: 2723246, + flag: 'https://restcountries.eu/data/jam.svg', + currency: 'Jamaican dollar' + }, + { + name: 'Japan', + capital: 'Tokyo', + languages: ['Japanese'], + population: 126960000, + flag: 'https://restcountries.eu/data/jpn.svg', + currency: 'Japanese yen' + }, + { + name: 'Jersey', + capital: 'Saint Helier', + languages: ['English', 'French'], + population: 100800, + flag: 'https://restcountries.eu/data/jey.svg', + currency: 'British pound' + }, + { + name: 'Jordan', + capital: 'Amman', + languages: ['Arabic'], + population: 9531712, + flag: 'https://restcountries.eu/data/jor.svg', + currency: 'Jordanian dinar' + }, + { + name: 'Kazakhstan', + capital: 'Astana', + languages: ['Kazakh', 'Russian'], + population: 17753200, + flag: 'https://restcountries.eu/data/kaz.svg', + currency: 'Kazakhstani tenge' + }, + { + name: 'Kenya', + capital: 'Nairobi', + languages: ['English', 'Swahili'], + population: 47251000, + flag: 'https://restcountries.eu/data/ken.svg', + currency: 'Kenyan shilling' + }, + { + name: 'Kiribati', + capital: 'South Tarawa', + languages: ['English'], + population: 113400, + flag: 'https://restcountries.eu/data/kir.svg', + currency: 'Australian dollar' + }, + { + name: 'Kuwait', + capital: 'Kuwait City', + languages: ['Arabic'], + population: 4183658, + flag: 'https://restcountries.eu/data/kwt.svg', + currency: 'Kuwaiti dinar' + }, + { + name: 'Kyrgyzstan', + capital: 'Bishkek', + languages: ['Kyrgyz', 'Russian'], + population: 6047800, + flag: 'https://restcountries.eu/data/kgz.svg', + currency: 'Kyrgyzstani som' + }, + { + name: "Lao People's Democratic Republic", + capital: 'Vientiane', + languages: ['Lao'], + population: 6492400, + flag: 'https://restcountries.eu/data/lao.svg', + currency: 'Lao kip' + }, + { + name: 'Latvia', + capital: 'Riga', + languages: ['Latvian'], + population: 1961600, + flag: 'https://restcountries.eu/data/lva.svg', + currency: 'Euro' + }, + { + name: 'Lebanon', + capital: 'Beirut', + languages: ['Arabic', 'French'], + population: 5988000, + flag: 'https://restcountries.eu/data/lbn.svg', + currency: 'Lebanese pound' + }, + { + name: 'Lesotho', + capital: 'Maseru', + languages: ['English', 'Southern Sotho'], + population: 1894194, + flag: 'https://restcountries.eu/data/lso.svg', + currency: 'Lesotho loti' + }, + { + name: 'Liberia', + capital: 'Monrovia', + languages: ['English'], + population: 4615000, + flag: 'https://restcountries.eu/data/lbr.svg', + currency: 'Liberian dollar' + }, + { + name: 'Libya', + capital: 'Tripoli', + languages: ['Arabic'], + population: 6385000, + flag: 'https://restcountries.eu/data/lby.svg', + currency: 'Libyan dinar' + }, + { + name: 'Liechtenstein', + capital: 'Vaduz', + languages: ['German'], + population: 37623, + flag: 'https://restcountries.eu/data/lie.svg', + currency: 'Swiss franc' + }, + { + name: 'Lithuania', + capital: 'Vilnius', + languages: ['Lithuanian'], + population: 2872294, + flag: 'https://restcountries.eu/data/ltu.svg', + currency: 'Euro' + }, + { + name: 'Luxembourg', + capital: 'Luxembourg', + languages: ['French', 'German', 'Luxembourgish'], + population: 576200, + flag: 'https://restcountries.eu/data/lux.svg', + currency: 'Euro' + }, + { + name: 'Macao', + capital: '', + languages: ['Chinese', 'Portuguese'], + population: 649100, + flag: 'https://restcountries.eu/data/mac.svg', + currency: 'Macanese pataca' + }, + { + name: 'Macedonia (the former Yugoslav Republic of)', + capital: 'Skopje', + languages: ['Macedonian'], + population: 2058539, + flag: 'https://restcountries.eu/data/mkd.svg', + currency: 'Macedonian denar' + }, + { + name: 'Madagascar', + capital: 'Antananarivo', + languages: ['French', 'Malagasy'], + population: 22434363, + flag: 'https://restcountries.eu/data/mdg.svg', + currency: 'Malagasy ariary' + }, + { + name: 'Malawi', + capital: 'Lilongwe', + languages: ['English', 'Chichewa'], + population: 16832910, + flag: 'https://restcountries.eu/data/mwi.svg', + currency: 'Malawian kwacha' + }, + { + name: 'Malaysia', + capital: 'Kuala Lumpur', + languages: ['Malaysian'], + population: 31405416, + flag: 'https://restcountries.eu/data/mys.svg', + currency: 'Malaysian ringgit' + }, + { + name: 'Maldives', + capital: 'Malé', + languages: ['Divehi'], + population: 344023, + flag: 'https://restcountries.eu/data/mdv.svg', + currency: 'Maldivian rufiyaa' + }, + { + name: 'Mali', + capital: 'Bamako', + languages: ['French'], + population: 18135000, + flag: 'https://restcountries.eu/data/mli.svg', + currency: 'West African CFA franc' + }, + { + name: 'Malta', + capital: 'Valletta', + languages: ['Maltese', 'English'], + population: 425384, + flag: 'https://restcountries.eu/data/mlt.svg', + currency: 'Euro' + }, + { + name: 'Marshall Islands', + capital: 'Majuro', + languages: ['English', 'Marshallese'], + population: 54880, + flag: 'https://restcountries.eu/data/mhl.svg', + currency: 'United States dollar' + }, + { + name: 'Martinique', + capital: 'Fort-de-France', + languages: ['French'], + population: 378243, + flag: 'https://restcountries.eu/data/mtq.svg', + currency: 'Euro' + }, + { + name: 'Mauritania', + capital: 'Nouakchott', + languages: ['Arabic'], + population: 3718678, + flag: 'https://restcountries.eu/data/mrt.svg', + currency: 'Mauritanian ouguiya' + }, + { + name: 'Mauritius', + capital: 'Port Louis', + languages: ['English'], + population: 1262879, + flag: 'https://restcountries.eu/data/mus.svg', + currency: 'Mauritian rupee' + }, + { + name: 'Mayotte', + capital: 'Mamoudzou', + languages: ['French'], + population: 226915, + flag: 'https://restcountries.eu/data/myt.svg', + currency: 'Euro' + }, + { + name: 'Mexico', + capital: 'Mexico City', + languages: ['Spanish'], + population: 122273473, + flag: 'https://restcountries.eu/data/mex.svg', + currency: 'Mexican peso' + }, + { + name: 'Micronesia (Federated States of)', + capital: 'Palikir', + languages: ['English'], + population: 102800, + flag: 'https://restcountries.eu/data/fsm.svg', + currency: '[D]' + }, + { + name: 'Moldova (Republic of)', + capital: 'Chișinău', + languages: ['Romanian'], + population: 3553100, + flag: 'https://restcountries.eu/data/mda.svg', + currency: 'Moldovan leu' + }, + { + name: 'Monaco', + capital: 'Monaco', + languages: ['French'], + population: 38400, + flag: 'https://restcountries.eu/data/mco.svg', + currency: 'Euro' + }, + { + name: 'Mongolia', + capital: 'Ulan Bator', + languages: ['Mongolian'], + population: 3093100, + flag: 'https://restcountries.eu/data/mng.svg', + currency: 'Mongolian tögrög' + }, + { + name: 'Montenegro', + capital: 'Podgorica', + languages: ['Serbian', 'Bosnian', 'Albanian', 'Croatian'], + population: 621810, + flag: 'https://restcountries.eu/data/mne.svg', + currency: 'Euro' + }, + { + name: 'Montserrat', + capital: 'Plymouth', + languages: ['English'], + population: 4922, + flag: 'https://restcountries.eu/data/msr.svg', + currency: 'East Caribbean dollar' + }, + { + name: 'Morocco', + capital: 'Rabat', + languages: ['Arabic'], + population: 33337529, + flag: 'https://restcountries.eu/data/mar.svg', + currency: 'Moroccan dirham' + }, + { + name: 'Mozambique', + capital: 'Maputo', + languages: ['Portuguese'], + population: 26423700, + flag: 'https://restcountries.eu/data/moz.svg', + currency: 'Mozambican metical' + }, + { + name: 'Myanmar', + capital: 'Naypyidaw', + languages: ['Burmese'], + population: 51419420, + flag: 'https://restcountries.eu/data/mmr.svg', + currency: 'Burmese kyat' + }, + { + name: 'Namibia', + capital: 'Windhoek', + languages: ['English', 'Afrikaans'], + population: 2324388, + flag: 'https://restcountries.eu/data/nam.svg', + currency: 'Namibian dollar' + }, + { + name: 'Nauru', + capital: 'Yaren', + languages: ['English', 'Nauruan'], + population: 10084, + flag: 'https://restcountries.eu/data/nru.svg', + currency: 'Australian dollar' + }, + { + name: 'Nepal', + capital: 'Kathmandu', + languages: ['Nepali'], + population: 28431500, + flag: 'https://restcountries.eu/data/npl.svg', + currency: 'Nepalese rupee' + }, + { + name: 'Netherlands', + capital: 'Amsterdam', + languages: ['Dutch'], + population: 17019800, + flag: 'https://restcountries.eu/data/nld.svg', + currency: 'Euro' + }, + { + name: 'New Caledonia', + capital: 'Nouméa', + languages: ['French'], + population: 268767, + flag: 'https://restcountries.eu/data/ncl.svg', + currency: 'CFP franc' + }, + { + name: 'New Zealand', + capital: 'Wellington', + languages: ['English', 'Māori'], + population: 4697854, + flag: 'https://restcountries.eu/data/nzl.svg', + currency: 'New Zealand dollar' + }, + { + name: 'Nicaragua', + capital: 'Managua', + languages: ['Spanish'], + population: 6262703, + flag: 'https://restcountries.eu/data/nic.svg', + currency: 'Nicaraguan córdoba' + }, + { + name: 'Niger', + capital: 'Niamey', + languages: ['French'], + population: 20715000, + flag: 'https://restcountries.eu/data/ner.svg', + currency: 'West African CFA franc' + }, + { + name: 'Nigeria', + capital: 'Abuja', + languages: ['English'], + population: 186988000, + flag: 'https://restcountries.eu/data/nga.svg', + currency: 'Nigerian naira' + }, + { + name: 'Niue', + capital: 'Alofi', + languages: ['English'], + population: 1470, + flag: 'https://restcountries.eu/data/niu.svg', + currency: 'New Zealand dollar' + }, + { + name: 'Norfolk Island', + capital: 'Kingston', + languages: ['English'], + population: 2302, + flag: 'https://restcountries.eu/data/nfk.svg', + currency: 'Australian dollar' + }, + { + name: "Korea (Democratic People's Republic of)", + capital: 'Pyongyang', + languages: ['Korean'], + population: 25281000, + flag: 'https://restcountries.eu/data/prk.svg', + currency: 'North Korean won' + }, + { + name: 'Northern Mariana Islands', + capital: 'Saipan', + languages: ['English', 'Chamorro'], + population: 56940, + flag: 'https://restcountries.eu/data/mnp.svg', + currency: 'United States dollar' + }, + { + name: 'Norway', + capital: 'Oslo', + languages: ['Norwegian', 'Norwegian Bokmål', 'Norwegian Nynorsk'], + population: 5223256, + flag: 'https://restcountries.eu/data/nor.svg', + currency: 'Norwegian krone' + }, + { + name: 'Oman', + capital: 'Muscat', + languages: ['Arabic'], + population: 4420133, + flag: 'https://restcountries.eu/data/omn.svg', + currency: 'Omani rial' + }, + { + name: 'Pakistan', + capital: 'Islamabad', + languages: ['English', 'Urdu'], + population: 194125062, + flag: 'https://restcountries.eu/data/pak.svg', + currency: 'Pakistani rupee' + }, + { + name: 'Palau', + capital: 'Ngerulmud', + languages: ['English'], + population: 17950, + flag: 'https://restcountries.eu/data/plw.svg', + currency: '[E]' + }, + { + name: 'Palestine, State of', + capital: 'Ramallah', + languages: ['Arabic'], + population: 4682467, + flag: 'https://restcountries.eu/data/pse.svg', + currency: 'Israeli new sheqel' + }, + { + name: 'Panama', + capital: 'Panama City', + languages: ['Spanish'], + population: 3814672, + flag: 'https://restcountries.eu/data/pan.svg', + currency: 'Panamanian balboa' + }, + { + name: 'Papua New Guinea', + capital: 'Port Moresby', + languages: ['English'], + population: 8083700, + flag: 'https://restcountries.eu/data/png.svg', + currency: 'Papua New Guinean kina' + }, + { + name: 'Paraguay', + capital: 'Asunción', + languages: ['Spanish', 'Guaraní'], + population: 6854536, + flag: 'https://restcountries.eu/data/pry.svg', + currency: 'Paraguayan guaraní' + }, + { + name: 'Peru', + capital: 'Lima', + languages: ['Spanish'], + population: 31488700, + flag: 'https://restcountries.eu/data/per.svg', + currency: 'Peruvian sol' + }, + { + name: 'Philippines', + capital: 'Manila', + languages: ['English'], + population: 103279800, + flag: 'https://restcountries.eu/data/phl.svg', + currency: 'Philippine peso' + }, + { + name: 'Pitcairn', + capital: 'Adamstown', + languages: ['English'], + population: 56, + flag: 'https://restcountries.eu/data/pcn.svg', + currency: 'New Zealand dollar' + }, + { + name: 'Poland', + capital: 'Warsaw', + languages: ['Polish'], + population: 38437239, + flag: 'https://restcountries.eu/data/pol.svg', + currency: 'Polish złoty' + }, + { + name: 'Portugal', + capital: 'Lisbon', + languages: ['Portuguese'], + population: 10374822, + flag: 'https://restcountries.eu/data/prt.svg', + currency: 'Euro' + }, + { + name: 'Puerto Rico', + capital: 'San Juan', + languages: ['Spanish', 'English'], + population: 3474182, + flag: 'https://restcountries.eu/data/pri.svg', + currency: 'United States dollar' + }, + { + name: 'Qatar', + capital: 'Doha', + languages: ['Arabic'], + population: 2587564, + flag: 'https://restcountries.eu/data/qat.svg', + currency: 'Qatari riyal' + }, + { + name: 'Republic of Kosovo', + capital: 'Pristina', + languages: ['Albanian', 'Serbian'], + population: 1733842, + flag: 'https://restcountries.eu/data/kos.svg', + currency: 'Euro' + }, + { + name: 'Réunion', + capital: 'Saint-Denis', + languages: ['French'], + population: 840974, + flag: 'https://restcountries.eu/data/reu.svg', + currency: 'Euro' + }, + { + name: 'Romania', + capital: 'Bucharest', + languages: ['Romanian'], + population: 19861408, + flag: 'https://restcountries.eu/data/rou.svg', + currency: 'Romanian leu' + }, + { + name: 'Russian Federation', + capital: 'Moscow', + languages: ['Russian'], + population: 146599183, + flag: 'https://restcountries.eu/data/rus.svg', + currency: 'Russian ruble' + }, + { + name: 'Rwanda', + capital: 'Kigali', + languages: ['Kinyarwanda', 'English', 'French'], + population: 11553188, + flag: 'https://restcountries.eu/data/rwa.svg', + currency: 'Rwandan franc' + }, + { + name: 'Saint Barthélemy', + capital: 'Gustavia', + languages: ['French'], + population: 9417, + flag: 'https://restcountries.eu/data/blm.svg', + currency: 'Euro' + }, + { + name: 'Saint Helena, Ascension and Tristan da Cunha', + capital: 'Jamestown', + languages: ['English'], + population: 4255, + flag: 'https://restcountries.eu/data/shn.svg', + currency: 'Saint Helena pound' + }, + { + name: 'Saint Kitts and Nevis', + capital: 'Basseterre', + languages: ['English'], + population: 46204, + flag: 'https://restcountries.eu/data/kna.svg', + currency: 'East Caribbean dollar' + }, + { + name: 'Saint Lucia', + capital: 'Castries', + languages: ['English'], + population: 186000, + flag: 'https://restcountries.eu/data/lca.svg', + currency: 'East Caribbean dollar' + }, + { + name: 'Saint Martin (French part)', + capital: 'Marigot', + languages: ['English', 'French', 'Dutch'], + population: 36979, + flag: 'https://restcountries.eu/data/maf.svg', + currency: 'Euro' + }, + { + name: 'Saint Pierre and Miquelon', + capital: 'Saint-Pierre', + languages: ['French'], + population: 6069, + flag: 'https://restcountries.eu/data/spm.svg', + currency: 'Euro' + }, + { + name: 'Saint Vincent and the Grenadines', + capital: 'Kingstown', + languages: ['English'], + population: 109991, + flag: 'https://restcountries.eu/data/vct.svg', + currency: 'East Caribbean dollar' + }, + { + name: 'Samoa', + capital: 'Apia', + languages: ['Samoan', 'English'], + population: 194899, + flag: 'https://restcountries.eu/data/wsm.svg', + currency: 'Samoan tālā' + }, + { + name: 'San Marino', + capital: 'City of San Marino', + languages: ['Italian'], + population: 33005, + flag: 'https://restcountries.eu/data/smr.svg', + currency: 'Euro' + }, + { + name: 'Sao Tome and Principe', + capital: 'São Tomé', + languages: ['Portuguese'], + population: 187356, + flag: 'https://restcountries.eu/data/stp.svg', + currency: 'São Tomé and Príncipe dobra' + }, + { + name: 'Saudi Arabia', + capital: 'Riyadh', + languages: ['Arabic'], + population: 32248200, + flag: 'https://restcountries.eu/data/sau.svg', + currency: 'Saudi riyal' + }, + { + name: 'Senegal', + capital: 'Dakar', + languages: ['French'], + population: 14799859, + flag: 'https://restcountries.eu/data/sen.svg', + currency: 'West African CFA franc' + }, + { + name: 'Serbia', + capital: 'Belgrade', + languages: ['Serbian'], + population: 7076372, + flag: 'https://restcountries.eu/data/srb.svg', + currency: 'Serbian dinar' + }, + { + name: 'Seychelles', + capital: 'Victoria', + languages: ['French', 'English'], + population: 91400, + flag: 'https://restcountries.eu/data/syc.svg', + currency: 'Seychellois rupee' + }, + { + name: 'Sierra Leone', + capital: 'Freetown', + languages: ['English'], + population: 7075641, + flag: 'https://restcountries.eu/data/sle.svg', + currency: 'Sierra Leonean leone' + }, + { + name: 'Singapore', + capital: 'Singapore', + languages: ['English', 'Malay', 'Tamil', 'Chinese'], + population: 5535000, + flag: 'https://restcountries.eu/data/sgp.svg', + currency: 'Brunei dollar' + }, + { + name: 'Sint Maarten (Dutch part)', + capital: 'Philipsburg', + languages: ['Dutch', 'English'], + population: 38247, + flag: 'https://restcountries.eu/data/sxm.svg', + currency: 'Netherlands Antillean guilder' + }, + { + name: 'Slovakia', + capital: 'Bratislava', + languages: ['Slovak'], + population: 5426252, + flag: 'https://restcountries.eu/data/svk.svg', + currency: 'Euro' + }, + { + name: 'Slovenia', + capital: 'Ljubljana', + languages: ['Slovene'], + population: 2064188, + flag: 'https://restcountries.eu/data/svn.svg', + currency: 'Euro' + }, + { + name: 'Solomon Islands', + capital: 'Honiara', + languages: ['English'], + population: 642000, + flag: 'https://restcountries.eu/data/slb.svg', + currency: 'Solomon Islands dollar' + }, + { + name: 'Somalia', + capital: 'Mogadishu', + languages: ['Somali', 'Arabic'], + population: 11079000, + flag: 'https://restcountries.eu/data/som.svg', + currency: 'Somali shilling' + }, + { + name: 'South Africa', + capital: 'Pretoria', + languages: [ + 'Afrikaans', + 'English', + 'Southern Ndebele', + 'Southern Sotho', + 'Swati', + 'Tswana', + 'Tsonga', + 'Venda', + 'Xhosa', + 'Zulu' + ], + population: 55653654, + flag: 'https://restcountries.eu/data/zaf.svg', + currency: 'South African rand' + }, + { + name: 'South Georgia and the South Sandwich Islands', + capital: 'King Edward Point', + languages: ['English'], + population: 30, + flag: 'https://restcountries.eu/data/sgs.svg', + currency: 'British pound' + }, + { + name: 'Korea (Republic of)', + capital: 'Seoul', + languages: ['Korean'], + population: 50801405, + flag: 'https://restcountries.eu/data/kor.svg', + currency: 'South Korean won' + }, + { + name: 'South Sudan', + capital: 'Juba', + languages: ['English'], + population: 12131000, + flag: 'https://restcountries.eu/data/ssd.svg', + currency: 'South Sudanese pound' + }, + { + name: 'Spain', + capital: 'Madrid', + languages: ['Spanish'], + population: 46438422, + flag: 'https://restcountries.eu/data/esp.svg', + currency: 'Euro' + }, + { + name: 'Sri Lanka', + capital: 'Colombo', + languages: ['Sinhalese', 'Tamil'], + population: 20966000, + flag: 'https://restcountries.eu/data/lka.svg', + currency: 'Sri Lankan rupee' + }, + { + name: 'Sudan', + capital: 'Khartoum', + languages: ['Arabic', 'English'], + population: 39598700, + flag: 'https://restcountries.eu/data/sdn.svg', + currency: 'Sudanese pound' + }, + { + name: 'Suriname', + capital: 'Paramaribo', + languages: ['Dutch'], + population: 541638, + flag: 'https://restcountries.eu/data/sur.svg', + currency: 'Surinamese dollar' + }, + { + name: 'Svalbard and Jan Mayen', + capital: 'Longyearbyen', + languages: ['Norwegian'], + population: 2562, + flag: 'https://restcountries.eu/data/sjm.svg', + currency: 'Norwegian krone' + }, + { + name: 'Swaziland', + capital: 'Lobamba', + languages: ['English', 'Swati'], + population: 1132657, + flag: 'https://restcountries.eu/data/swz.svg', + currency: 'Swazi lilangeni' + }, + { + name: 'Sweden', + capital: 'Stockholm', + languages: ['Swedish'], + population: 9894888, + flag: 'https://restcountries.eu/data/swe.svg', + currency: 'Swedish krona' + }, + { + name: 'Switzerland', + capital: 'Bern', + languages: ['German', 'French', 'Italian'], + population: 8341600, + flag: 'https://restcountries.eu/data/che.svg', + currency: 'Swiss franc' + }, + { + name: 'Syrian Arab Republic', + capital: 'Damascus', + languages: ['Arabic'], + population: 18564000, + flag: 'https://restcountries.eu/data/syr.svg', + currency: 'Syrian pound' + }, + { + name: 'Taiwan', + capital: 'Taipei', + languages: ['Chinese'], + population: 23503349, + flag: 'https://restcountries.eu/data/twn.svg', + currency: 'New Taiwan dollar' + }, + { + name: 'Tajikistan', + capital: 'Dushanbe', + languages: ['Tajik', 'Russian'], + population: 8593600, + flag: 'https://restcountries.eu/data/tjk.svg', + currency: 'Tajikistani somoni' + }, + { + name: 'Tanzania, United Republic of', + capital: 'Dodoma', + languages: ['Swahili', 'English'], + population: 55155000, + flag: 'https://restcountries.eu/data/tza.svg', + currency: 'Tanzanian shilling' + }, + { + name: 'Thailand', + capital: 'Bangkok', + languages: ['Thai'], + population: 65327652, + flag: 'https://restcountries.eu/data/tha.svg', + currency: 'Thai baht' + }, + { + name: 'Timor-Leste', + capital: 'Dili', + languages: ['Portuguese'], + population: 1167242, + flag: 'https://restcountries.eu/data/tls.svg', + currency: 'United States dollar' + }, + { + name: 'Togo', + capital: 'Lomé', + languages: ['French'], + population: 7143000, + flag: 'https://restcountries.eu/data/tgo.svg', + currency: 'West African CFA franc' + }, + { + name: 'Tokelau', + capital: 'Fakaofo', + languages: ['English'], + population: 1411, + flag: 'https://restcountries.eu/data/tkl.svg', + currency: 'New Zealand dollar' + }, + { + name: 'Tonga', + capital: "Nuku'alofa", + languages: ['English', 'Tonga (Tonga Islands)'], + population: 103252, + flag: 'https://restcountries.eu/data/ton.svg', + currency: 'Tongan paʻanga' + }, + { + name: 'Trinidad and Tobago', + capital: 'Port of Spain', + languages: ['English'], + population: 1349667, + flag: 'https://restcountries.eu/data/tto.svg', + currency: 'Trinidad and Tobago dollar' + }, + { + name: 'Tunisia', + capital: 'Tunis', + languages: ['Arabic'], + population: 11154400, + flag: 'https://restcountries.eu/data/tun.svg', + currency: 'Tunisian dinar' + }, + { + name: 'Turkey', + capital: 'Ankara', + languages: ['Turkish'], + population: 78741053, + flag: 'https://restcountries.eu/data/tur.svg', + currency: 'Turkish lira' + }, + { + name: 'Turkmenistan', + capital: 'Ashgabat', + languages: ['Turkmen', 'Russian'], + population: 4751120, + flag: 'https://restcountries.eu/data/tkm.svg', + currency: 'Turkmenistan manat' + }, + { + name: 'Turks and Caicos Islands', + capital: 'Cockburn Town', + languages: ['English'], + population: 31458, + flag: 'https://restcountries.eu/data/tca.svg', + currency: 'United States dollar' + }, + { + name: 'Tuvalu', + capital: 'Funafuti', + languages: ['English'], + population: 10640, + flag: 'https://restcountries.eu/data/tuv.svg', + currency: 'Australian dollar' + }, + { + name: 'Uganda', + capital: 'Kampala', + languages: ['English', 'Swahili'], + population: 33860700, + flag: 'https://restcountries.eu/data/uga.svg', + currency: 'Ugandan shilling' + }, + { + name: 'Ukraine', + capital: 'Kiev', + languages: ['Ukrainian'], + population: 42692393, + flag: 'https://restcountries.eu/data/ukr.svg', + currency: 'Ukrainian hryvnia' + }, + { + name: 'United Arab Emirates', + capital: 'Abu Dhabi', + languages: ['Arabic'], + population: 9856000, + flag: 'https://restcountries.eu/data/are.svg', + currency: 'United Arab Emirates dirham' + }, + { + name: 'United Kingdom of Great Britain and Northern Ireland', + capital: 'London', + languages: ['English'], + population: 65110000, + flag: 'https://restcountries.eu/data/gbr.svg', + currency: 'British pound' + }, + { + name: 'United States of America', + capital: 'Washington, D.C.', + languages: ['English'], + population: 323947000, + flag: 'https://restcountries.eu/data/usa.svg', + currency: 'United States dollar' + }, + { + name: 'Uruguay', + capital: 'Montevideo', + languages: ['Spanish'], + population: 3480222, + flag: 'https://restcountries.eu/data/ury.svg', + currency: 'Uruguayan peso' + }, + { + name: 'Uzbekistan', + capital: 'Tashkent', + languages: ['Uzbek', 'Russian'], + population: 31576400, + flag: 'https://restcountries.eu/data/uzb.svg', + currency: "Uzbekistani so'm" + }, + { + name: 'Vanuatu', + capital: 'Port Vila', + languages: ['Bislama', 'English', 'French'], + population: 277500, + flag: 'https://restcountries.eu/data/vut.svg', + currency: 'Vanuatu vatu' + }, + { + name: 'Venezuela (Bolivarian Republic of)', + capital: 'Caracas', + languages: ['Spanish'], + population: 31028700, + flag: 'https://restcountries.eu/data/ven.svg', + currency: 'Venezuelan bolívar' + }, + { + name: 'Viet Nam', + capital: 'Hanoi', + languages: ['Vietnamese'], + population: 92700000, + flag: 'https://restcountries.eu/data/vnm.svg', + currency: 'Vietnamese đồng' + }, + { + name: 'Wallis and Futuna', + capital: 'Mata-Utu', + languages: ['French'], + population: 11750, + flag: 'https://restcountries.eu/data/wlf.svg', + currency: 'CFP franc' + }, + { + name: 'Western Sahara', + capital: 'El Aaiún', + languages: ['Spanish'], + population: 510713, + flag: 'https://restcountries.eu/data/esh.svg', + currency: 'Moroccan dirham' + }, + { + name: 'Yemen', + capital: "Sana'a", + languages: ['Arabic'], + population: 27478000, + flag: 'https://restcountries.eu/data/yem.svg', + currency: 'Yemeni rial' + }, + { + name: 'Zambia', + capital: 'Lusaka', + languages: ['English'], + population: 15933883, + flag: 'https://restcountries.eu/data/zmb.svg', + currency: 'Zambian kwacha' + }, + { + name: 'Zimbabwe', + capital: 'Harare', + languages: ['English', 'Shona', 'Northern Ndebele'], + population: 14240168, + flag: 'https://restcountries.eu/data/zwe.svg', + currency: 'Botswana pula' + } +] diff --git a/12_Day/12_day_starter/index.html b/12_Day/12_day_starter/index.html new file mode 100644 index 00000000..6efcab4f --- /dev/null +++ b/12_Day/12_day_starter/index.html @@ -0,0 +1,17 @@ + + + + + 30DaysOfJavaScript:11 Day + + + +

30DaysOfJavaScript:11 Day

+

Destructuring and Spread

+ + + + + + + \ No newline at end of file diff --git a/12_Day/12_day_starter/scripts/main.js b/12_Day/12_day_starter/scripts/main.js new file mode 100644 index 00000000..c6045c83 --- /dev/null +++ b/12_Day/12_day_starter/scripts/main.js @@ -0,0 +1,2 @@ +console.log(countries) +alert('Open the console and check if the countries has been loaded') \ No newline at end of file diff --git a/images/regex.png b/images/regex.png new file mode 100644 index 0000000000000000000000000000000000000000..c7116b4dd3b540bad20cb517f565d96997e5be55 GIT binary patch literal 85172 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%0Ah?ux6=+yTyW*{0^wmTps_l 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 VB;)05$}`BHw4}U5g_xoL{{b;oWM=>X literal 0 HcmV?d00001