99 lines
4.2 KiB
JavaScript
Executable file
99 lines
4.2 KiB
JavaScript
Executable file
|
|
var characters = [
|
|
{name: "Harry Potter", actor: "Daniel Radcliffe", house: "Gryffindor", yearOfBirth: "1980", eyeColour: "green", hairColour: "black"},
|
|
{name: "Hermione Granger", actor: "Emma Watson", house: "Gryffindor", yearOfBirth: "1979", eyeColour: "brown", hairColour: "brown"},
|
|
{name: "Ron Weasley", actor: "Rupert Grint", house: "Gryffindor", yearOfBirth: "1980", eyeColour: "blue", hairColour: "red"},
|
|
{name: "Draco Malfoy", actor: "Tom Felton", house: "Slytherin", yearOfBirth: "1980", eyeColour: "grey", hairColour: "blonde"},
|
|
{name: "Minerva McGonagall", actor: "Dame Maggie Smith", house: "Gryffindor", yearOfBirth: "1925", eyeColour: "", hairColour: "black"},
|
|
{name: "Cedric Diggory", actor: "Robert Pattinson", house: "Hufflepuff", yearOfBirth: "1977", eyeColour: "grey", hairColour: "brown"},
|
|
{name: "Cho Chang", actor: "Katie Leung", house: "Ravenclaw", yearOfBirth: "", eyeColour: "brown", hairColour: "black"},
|
|
{name: "Severus Snape", actor: "Alan Rickman", house: "Slytherin", yearOfBirth: "1960", eyeColour: "black", hairColour: "black"},
|
|
{name: "Rubeus Hagrid", actor: "Robbie Coltrane", house: "Gryffindor", yearOfBirth: "1928", eyeColour: "black", hairColour: "black"},
|
|
{name: "Neville Longbottom", actor: "Matthew Lewis", house: "Gryffindor", yearOfBirth: "1980", eyeColour: "", hairColour: "blonde"},
|
|
{name: "Luna Lovegood", actor: "Evanna Lynch", house: "Ravenclaw", yearOfBirth: "1981", eyeColour: "grey", hairColour: "blonde"},
|
|
{name: "Ginny Weasley", actor: "Bonnie Wright", house: "Gryffindor", yearOfBirth: "1981", eyeColour: "brown", hairColour: "red"},
|
|
{name: "Sirius Black", actor: "Gary Oldman", house: "Gryffindor", yearOfBirth: "1959", eyeColour: "grey", hairColour: "black"},
|
|
{name: "Remus Lupin", actor: "David Thewlis", house: "Gryffindor", yearOfBirth: "1960", eyeColour: "green", hairColour: "brown"},
|
|
{name: "Arthur Weasley", actor: "Mark Williams", house: "Gryffindor", yearOfBirth: "1950", eyeColour: "blue", hairColour: "red"},
|
|
{name: "Bellatrix Lestrange", actor: "Helena Bonham Carter", house: "Slytherin", yearOfBirth: "1951", eyeColour: "brown", hairColour: "black"},
|
|
{name: "Lord Voldemort", actor: "Ralph Fiennes", house: "Slytherin", yearOfBirth: "1926", eyeColour: "red", hairColour: "bald"}
|
|
];
|
|
function printList(task) {
|
|
// document.getElementById("contentItems").innerHTML = "";
|
|
switch (task) {
|
|
case 'a':
|
|
returnVar = orderList('a', characters);
|
|
break;
|
|
case 'd':
|
|
returnVar = orderList('d', characters);
|
|
break;
|
|
case 'fh':
|
|
returnVar = filterHouse(document.getElementById("search-bar-1").value, characters);
|
|
break;
|
|
case 'fy':
|
|
returnVar = filterYear(document.getElementById("search-bar-2").value, characters);
|
|
break;
|
|
case 'n':
|
|
returnVar = characters;
|
|
break;
|
|
case 'r':
|
|
location.reload();
|
|
return;
|
|
default:
|
|
break;
|
|
}
|
|
showTable(returnVar);
|
|
}
|
|
|
|
function filterHouse(inputVar, finalData) {
|
|
var obj = new Array();
|
|
for(var i = 0; i < finalData.length; i++){
|
|
if (finalData[i].house.indexOf(inputVar) != -1) {
|
|
obj.push(finalData[i]);
|
|
}
|
|
}
|
|
return obj;
|
|
}
|
|
function filterYear(inputVar, finalData) {
|
|
var obj = new Array();
|
|
for(var i = 0; i < finalData.length; i++){
|
|
if (finalData[i].yearOfBirth < inputVar) {
|
|
obj.push(finalData[i]);
|
|
}
|
|
}
|
|
return obj;
|
|
}
|
|
function orderList(order, finalData) {
|
|
var obj = finalData.sort(function compare( a, b ) {
|
|
if ( a.house < b.house ){
|
|
return -1;
|
|
}
|
|
if ( a.house > b.house ){
|
|
return 1;
|
|
}
|
|
return 0;
|
|
});
|
|
if (order=='d') return obj.reverse();
|
|
if (document.getElementById("search-bar-1").value == null || username == "")
|
|
return obj;
|
|
|
|
|
|
}
|
|
function showTable(finalData) {
|
|
document.getElementById("contentTable").innerHTML = null;
|
|
for (let i=0; i<finalData.length; i++) {
|
|
document.getElementById("contentTable").innerHTML +=
|
|
`<tr>
|
|
<td>` + finalData[i]["name"] + `</td>
|
|
<td>` + finalData[i]["actor"] + `</td>
|
|
<td>` + finalData[i]["house"] + `</td>
|
|
<td>` + finalData[i]["yearOfBirth"] + `</td>
|
|
<td>` + finalData[i]["eyeColour"] + `</td>
|
|
<td>` + finalData[i]["hairColour"] + `</td>
|
|
</tr>`
|
|
}
|
|
}
|
|
|
|
|
|
|
|
showTable(characters); |