World Factbook: Difference between revisions
Jump to navigation
Jump to search
| Line 53: | Line 53: | ||
* Use Math.random() to pick a country at random | * 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% | * 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' | |||
<div class=qu> | <div class=qu> | ||
<pre class=usr> | <pre class=usr> | ||
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 = africa[randomNumber]; | |||
document.body.innerText = randomCountry.name; | |||
}); | |||
</pre> | </pre> | ||
<pre class=ans> | <pre class=ans> | ||
| Line 60: | Line 69: | ||
.then((r)=>r.json()) | .then((r)=>r.json()) | ||
.then((r)=>{ | .then((r)=>{ | ||
let africa = r.filter(c=>c.continent=='Africa'); | let africa = r.filter(c=>c.continent==='Africa'); | ||
let randomNumber = Math.floor(Math.random()*africa.length); | let randomNumber = Math.floor(Math.random()*africa.length); | ||
let randomCountry = africa[randomNumber]; | let randomCountry = africa[randomNumber]; | ||
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 = africa[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;
});