Difference between revisions of "DOM working with data"

From ProgZoo
Jump to navigation Jump to search
Line 49: Line 49:
   <div>population: ${tgt.population}</div>
   <div>population: ${tgt.population}</div>
`;
`;
  });
</pre>
<pre class=ans>
fetch('/worldl.json')
  .then((r)=>r.json())
  .then((r)=>{
    let tgt = r[102];
    document.body.innerHTML = `
  <div>${tgt.name} (${tgt.continent})</div>
  <div>${tgt.capital}</div>
  <div>population: ${tgt.population}</div>
  <img src='${tgt.flag}' style='width:100px'/>
`;
  });
</pre>
</div>
== List D contries ==
<div class=qu>
<div class=imper>List all the countries beginning with D.</div>
<pre class=usr>
fetch('/worldl.json')
  .then((r)=>r.json())
  .then((r)=>{
    r.filter(x=> x.name.startsWith('D'))
    r.map(x => `<div>${x.name}</div>`);
   });
   });
</pre>
</pre>

Revision as of 01:06, 22 August 2021


Get the name from the number

  • You can obtain data from the server using a fetch call.
  • In these examples you will be getting data from /worldl.json this is a list of 195 countries in json format
  • The program snippet shows the name of country 42.
  • Change it so it shows the name of country 50.
  • See if you can find your country.
fetch('/worldl.json')
  .then((r)=>r.json())
  .then((r)=>{
     let tgt = r[42];
     document.body.innerHTML = tgt.name;
  });
fetch('/worldl.json')
  .then((r)=>r.json())
  .then((r)=>{
     let tgt = r[50];
     document.body.innerHTML = tgt.name;
  });

Get the details from the number

Each country has a bunch of data associated, for example:

area: 330803
capital: "Kuala Lumpur"
continent: "Asia"
flag: "//upload.wikimedia.org/wikipedia/commons/6/66/Flag_of_Malaysia.svg"
gdp: 304726000000
id: 102
name: "Malaysia"
population: 30177000
tld: ".my"
Alter your code so that the output matches the model answer.
fetch('/worldl.json')
  .then((r)=>r.json())
  .then((r)=>{
     let tgt = r[102];
     document.body.innerHTML = `
  <div>${tgt.name}</div>
  <div>${tgt.continent}</div>
  <div>${tgt.capital}</div>
  <div>population: ${tgt.population}</div>
`;
  });
fetch('/worldl.json')
  .then((r)=>r.json())
  .then((r)=>{
     let tgt = r[102];
     document.body.innerHTML = `
  <div>${tgt.name} (${tgt.continent})</div>
  <div>${tgt.capital}</div>
  <div>population: ${tgt.population}</div>
  <img src='${tgt.flag}' style='width:100px'/>
`;
  });

List D contries

List all the countries beginning with D.
fetch('/worldl.json')
  .then((r)=>r.json())
  .then((r)=>{
     r.filter(x=> x.name.startsWith('D'))
     r.map(x => `<div>${x.name}</div>`);
  });
fetch('/worldl.json')
  .then((r)=>r.json())
  .then((r)=>{
     let tgt = r[102];
     document.body.innerHTML = `
  <div>${tgt.name} (${tgt.continent})</div>
  <div>${tgt.capital}</div>
  <div>population: ${tgt.population}</div>
  <img src='${tgt.flag}' style='width:100px'/>
`;
  });