World Factbook: Difference between revisions
Jump to navigation
Jump to search
Line 80: | Line 80: | ||
* A large country is one with a population of at least 100 million | * A large country is one with a population of at least 100 million | ||
* Pick four large countries, without repetition | * Pick four large countries, without repetition | ||
Bangladesh | |||
Brazil | |||
China | |||
India | |||
Indonesia | |||
Japan | |||
Mexico | |||
Nigeria | |||
Pakistan | |||
Russia | |||
United States | |||
<div class=qu> | <div class=qu> | ||
<pre class=usr> | <pre class=usr> |
Revision as of 10:01, 22 January 2022
1) 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.
Input
xxxxxxxxxx
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);
}
});
Output
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); } });
2) Get a button for each continent
- Show a button for each continent
Input
1
Output
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); } });
3) 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'
Input
xxxxxxxxxx
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;
});
Output
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; });
4) Pick four random countries
- A large country is one with a population of at least 100 million
- Pick four large countries, without repetition
Bangladesh Brazil China India Indonesia Japan Mexico Nigeria Pakistan Russia United States
Input
xxxxxxxxxx
fetch('/worldl.json')
.then((r)=>r.json())
.then((r)=>{
let alist = r.filter(c=>c.population >= 100000000);
for(let c of alist){
c.rand = Math.random();
}
alist.sort((a,b)=>a.rand-b.rand);
for(let i=0;i<alist.length;i++){
let d = document.createElement('div');
d.innerText = alist[i].name;
document.body.append(d);
}
});
Output
fetch('/worldl.json') .then((r)=>r.json()) .then((r)=>{ let alist = r.filter(c=>c.population >= 100000000); for(let c of alist){ c.rand = Math.random(); } alist.sort((a,b)=>a.rand-b.rand); for(let i=0;i<alist.length;i++){ let d = document.createElement('div'); d.innerText = alist[i].name; document.body.append(d); } });
fetch('/worldl.json') .then((r)=>r.json()) .then((r)=>{ let alist = r.filter(c=>c.population >= 100000000); for(let c of alist){ c.rand = Math.random(); } alist.sort((a,b)=>a.rand-b.rand); for(let i=0;i<4;i++){ let d = document.createElement('div'); d.innerText = alist[i].name; document.body.append(d); } });