JSFiddle - React, Tailwind, and code Playground
by Keyboardguy
HTML
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8"/>
<title>JSON: Task 1</title>
<style>
p {
color: purple;
margin: 0.5em 0;
}
* {
box-sizing: border-box;
}
</style>
<link rel="stylesheet" href="../styles.css" />
</head>
<body>
<section class="preview">
</section>
</body>
</html>
JavaScript
const section = document.querySelector('section');
let para1 = document.createElement('p');
let para2 = document.createElement('p');
let motherInfo = 'The mother cats are called ';
let kittenInfo;
const requestURL = 'https://mdn.github.io/learning-area/javascript/oojs/tasks/json/sample.json';
fetch(requestURL)
.then(response => response.text())
.then(text => displayCatInfo(text))
function displayCatInfo(catString) {
let total = 0;
let male = 0;
// Add your code here
const catInfo = JSON.parse(catString);
let totalKittens = 0;
let maleKittens = 0;
let femaleKittens = 0;
let i = 0;
for (const cat of catInfo) {
if (i === catInfo.length-1) {
motherInfo = `${motherInfo}and ${cat.name}.`;
} else {
motherInfo = `${motherInfo}${cat.name}, `;
}
i++
totalKittens += cat.kittens.length;
for (const kitten of cat.kittens) {
if (kitten.gender === "m" ) {
maleKittens += 1
} else {
femaleKittens += 1;
}
}
}
kittenInfo = `There are ${totalKittens} kittens, ${maleKittens} male, and ${femaleKittens} female.`;
// Don't edit the code below here!
para1.textContent = motherInfo;
para2.textContent = kittenInfo;
}
section.appendChild(para1);
section.appendChild(para2);