Difference between revisions of "World Factbook"
Jump to navigation
Jump to search
Line 61: | Line 61: | ||
let alist = r.filter(c=>c.name[0]==='A'); | let alist = r.filter(c=>c.name[0]==='A'); | ||
let randomNumber = Math.floor(Math.random()*alist.length); | let randomNumber = Math.floor(Math.random()*alist.length); | ||
let randomCountry = | let randomCountry = alist[randomNumber]; | ||
document.body.innerText = randomCountry.name; | document.body.innerText = randomCountry.name; | ||
}); | }); |
Revision as of 09:49, 22 January 2022
Get a button for each letter
- Show a button for each letter that a country can begin with
- You can use a Set to remove duplicates from a list.
fetch('/worldl.json') .then((r)=>r.json()) .then((r)=>{ let letters = r.map(c=>c.name[0]); for(let a of letters){ let b = document.createElement('button'); b.innerText = a; document.body.append(b); } });
fetch('/worldl.json') .then((r)=>r.json()) .then((r)=>{ let letters = new Set(r.map(c=>c.name[0])); for(let a of letters){ let b = document.createElement('button'); b.innerText = a; document.body.append(b); } });
Get a button for each continent
- Show a button for each continent
fetch('/worldl.json') .then((r)=>r.json()) .then((r)=>{ let letters = new Set(r.map(c=>c.continent)); for(let a of letters){ let b = document.createElement('button'); b.innerText = a; document.body.append(b); } });
Pick a random country from Africa
- Use Math.random() to pick a country at random
- Note that because of the way the scoring works you should not expect to get 100%
The sample code shows a random country beginning with 'A'
fetch('/worldl.json') .then((r)=>r.json()) .then((r)=>{ let alist = r.filter(c=>c.name[0]==='A'); let randomNumber = Math.floor(Math.random()*alist.length); let randomCountry = alist[randomNumber]; document.body.innerText = randomCountry.name; });
fetch('/worldl.json') .then((r)=>r.json()) .then((r)=>{ let africa = r.filter(c=>c.continent==='Africa'); let randomNumber = Math.floor(Math.random()*africa.length); let randomCountry = africa[randomNumber]; document.body.innerText = randomCountry.name; });