Skip to content

Commit 2af4662

Browse files
committed
Aufgaben object fertig
1 parent 97991c0 commit 2af4662

File tree

1 file changed

+99
-13
lines changed

1 file changed

+99
-13
lines changed

src/exercises/MeineLoesung/objectAufgaben.js

Lines changed: 99 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -2,36 +2,122 @@
22
//Definiere eine Liste von mehreren User Objekten. Jeder User hat einen Namen und eine Punktezahl.
33

44
const user1 = {
5-
name: "ueli",
6-
score: 2,
5+
name: "Ueli",
6+
score: 25453534535345,
77
};
88
const user2 = {
9-
name: "Cla",
10-
score: 1,
9+
name: "Claudia",
10+
score: 300,
1111
};
1212

1313
let userList = [user1, user2];
14+
1415
//Aufgabe2
1516
//Finde den User mit der höchsten Punktezahl
1617
//Variante 1
1718
let winner = null;
1819

1920
for (const user of userList) {
20-
if (winner === null || winner.score < user.score) {
21-
winner = user;
22-
}
21+
if (winner === null || winner.score < user.score) {
22+
winner = user;
23+
}
2324
}
2425
console.log(winner);
2526

2627
//Variante 2
2728
for (const user of userList) {
28-
if (winner === null) {
29-
winner = user;
30-
} else if (winner.score < user.score) {
31-
winner = user;
32-
console.log(winner);
33-
}
29+
if (winner === null) {
30+
winner = user;
31+
} else if (winner.score < user.score) {
32+
winner = user;
33+
console.log(winner);
34+
}
3435
}
3536
console.log(winner);
3637

38+
//Aufgabe 3
39+
40+
let row1 = "|Name|Punkte|"
41+
let row2 = "|----|-----|"
42+
let row3 = "|" + user1.name + "| " + user1.score + "|"
43+
let row4 = "|" + user2.name + "| " + user2.score + "|"
44+
45+
let rowArr = [row1, row2, row3, row4]
46+
47+
list = rowArr.join("\n")
48+
console.log(list)
49+
//Aufgabe 4
50+
//längster name
51+
//Länge der höchsten Punktezahl.??? was ist damit gemeint?
52+
function longestName (){
53+
let winner2 = null;
54+
55+
for (const user of userList) {
56+
if (winner2 === null || winner2.name.length < user.name.length) {
57+
winner2 = user;
58+
}
59+
}
60+
return winner2.name.length
61+
}
62+
63+
console.log(longestName())
64+
65+
function longestScore(){
66+
let winnerScoreLength = null;
67+
68+
for (const user of userList) {
69+
if (winnerScoreLength === null || winnerScoreLength.score.toString().length < user.score.toString().length) {
70+
winnerScoreLength = user;
71+
}
72+
}
73+
return winnerScoreLength.score.toString().length
74+
}
75+
76+
console.log(longestScore());
77+
78+
79+
80+
// Augabe 5
81+
let rows = []
82+
let longestUsername = longestName()
83+
let longestUserScore = longestScore()
84+
85+
// Check if HeaderName/Punkte length is longer than de longest Username or longest Score length
86+
function lengthCheck(value1, value2){
87+
if (value1 > value2){
88+
return value1
89+
}else{
90+
return value2
91+
}
92+
}
93+
94+
let longestInNameRow = lengthCheck(longestUsername, "name".length)
95+
let longestInPunkteRow = lengthCheck(longestUserScore, "Punkte".length)
96+
97+
let headerRowName = "Name".padEnd(longestInNameRow)
98+
let headerRowPunkte = "Punkte".padEnd(longestInPunkteRow)
99+
100+
let nameBorder = "-".repeat(longestInNameRow)
101+
let punkteBorder = "-".repeat(longestInPunkteRow)
102+
103+
let headerCells = ['', headerRowName, headerRowPunkte, ''];
104+
let borderCells = ['', nameBorder, punkteBorder, ''];
105+
106+
let headerRow = headerCells.join('|');
107+
let borderRow = borderCells.join('|');
108+
109+
rows.push(headerRow)
110+
rows.push(borderRow)
111+
112+
for(const user of userList){
113+
const paddedName = user.name.padEnd(longestInNameRow)
114+
const paddedScore = user.score.toString().padEnd(longestInPunkteRow)
115+
const userCells = ['', paddedName, paddedScore, '']
116+
const userRow = userCells.join('|')
117+
118+
rows.push(userRow)
119+
}
120+
list = rows.join('\n')
121+
console.log(list)
122+
37123

0 commit comments

Comments
 (0)