forked from LaunchCodeEducation/javascript-projects
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathscript.js
More file actions
45 lines (41 loc) · 1.97 KB
/
Copy pathscript.js
File metadata and controls
45 lines (41 loc) · 1.97 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
//TODO: Add Your Code Below
window.addEventListener("load", function() {
fetch("https://handlers.education.launchcode.org/static/astronauts.json").then(function(response) {
response.json().then(function(json) {
const divAstronauts = document.getElementById("container");
function findObjectWithMinValue(objectArray, keyToSearch) {
let objectWithMinValue = objectArray[0];
for (let i = 0; i < objectArray.length; i++){
if (objectArray[i][keyToSearch] < objectWithMinValue[keyToSearch]){
objectWithMinValue = objectArray[i];
};
};
return objectWithMinValue;
};
function sortObjArrayLowToHigh(objectArray, keyToSearch) {
let sortedJson = [];
while (objectArray.length > 0) {
sortedJson.push(findObjectWithMinValue(objectArray, keyToSearch));
objectArray.splice(objectArray.indexOf(findObjectWithMinValue(objectArray, keyToSearch)),1);
}
return sortedJson;
};
let jsonOrdered = sortObjArrayLowToHigh(json, "hoursInSpace");
for (let i = 0; i < jsonOrdered.length; i++) {
divAstronauts.innerHTML += `
<div class="astronaut">
<div class="bio">
<h3>${jsonOrdered[i].firstName} ${jsonOrdered[i].lastName}</h3>
<ul>
<li>Hours in space: ${jsonOrdered[i].hoursInSpace}</li>
<li>Active: ${jsonOrdered[i].active}</li>
<li>Skills: ${jsonOrdered[i].skills}</li>
</ul>
</div>
<img class="avatar" src=${jsonOrdered[i].picture}>
</div>
`
};
})
})
})