-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathapp.js
240 lines (206 loc) · 7.84 KB
/
app.js
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
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
/*
Uppgift 1:
Använd variabeln blue för att "toggla" bakrgrundsfärgen mellan blå och vit
för diven med id answer-one när man klickar på knappen
*/
let blue = true;
console.log(blue)
function taskOne() {
if(blue){
document.getElementById("answer-one").style.backgroundColor = "blue";
blue = false
}
else{
document.getElementById("answer-one").style.backgroundColor = "white";
blue = true
}
}
/*
Uppgift 2:
Varje gång man klickar på knappen ska ett nytt random-värde
läggas till i numbers-arrayen, innan arrayen renderas ut i diven med id answer-two
*/
const numbers = [234, 986, 784];
function taskTwo() {
numbers.push(Math.floor(Math.random() * 10))
document.getElementById("answer-two").innerHTML = numbers;
}
/*
Uppgift 3:
Identifiera vilken dag i veckan det är, ifall det är helg (lördag eller söndag)
ska du trigga en alert med meddelandet "Woohooo it's weekend" annars om det
inte är helg ska du trigga en alert med meddelandet "FML"
*/
function taskThree() {
var helg = new Date();
console.log(helg.getDay())
if(helg.getDay() == 0 || helg.getDay() == 6){
alert("Woohooo it's weekend")
}else{
alert("FML")
}
}
/*
Uppgift 4:
Anropa funktionen multiplier och förse den med två argument (värden), multiplier ska sedan
undersöka om dessa värden är nummer, om så är fallet ska värdena multipliceras och resultatet
ska sedan visas i en alert-box utefter följande: Produkten är: [RESULTATET], annars om ett av
eller båda värdena inte är ett nummer ska en alertbox med meddelandet "Jag kan bara multiplicera numer" triggas
*/
function multiplier(valueOne, valueTwo) {
const result = valueOne * valueTwo
if(Number.isInteger(result) == false){
alert("Jag kan bara multiplicera numer")
}else{
alert('Produkten är: ' + result)
}
}
function taskFour(valueOne,valueTwo) {
multiplier(12,5);
}
/*
Uppgift 5:
Börja med att iterera över arrayen fruits, om värdet är "apelsin" eller "päron"
ska du pusha värdet till trash-arrayen, annars ska du pusha värdet till eatable-arrayen,
du ska sedan rendera ut båda arrayerna i diven "answer-five", där eatable arrayen ska
prefixas av "Ätligt:" i bold och trash-arrayens värden ska prefixas av "Skräp:" i bold
Det kommer alltså att se ut såhär
Ätligt: banan, äpple, citron
Skräp: apelsin, päron
*/
const fruits = ["banan", "äpple", "citron", "apelsin", "päron"];
const eatable = [];
const trash = [];
function taskFive() {
fruits.forEach(fruit =>{
switch(fruit){
case "apelsin":
trash.push(fruit)
break;
case "päron":
trash.push(fruit)
break;
default:
eatable.push(fruit)
break;
}
})
document.getElementById("answer-five").innerHTML = '<b>Ätligt: ' + eatable + "<br>" + "<b>Skräp: " + trash
}
/*
Uppgift 6:
Börja med att iterera över arrayen persons, om personens age-attribut är över eller lika med 30
ska du pusha personens namn till overThirty-arrayen, annars ska du pusha värdet till underThirty-arrayen,
du ska sedan kolla om personens married-attribut är true eller false, är det true ska du pusha personens
namn till married-arrayen, annars ska du pusha personens namn till notMarried-arrayen.
Du ska sedan rendera ut alla arrayerna i diven "answer-six", där overThirty arrayens värden ska
prefixas av "Över 30:" i bold, underThirty-arrayens värden ska prefixas av "Under 30:" i bold,
married-arrayens värden ska prefixas av "Gift:" i bold och notMarried-arrayens värden ska prefixas av "Ogift:" i bold
Det kommer alltså att se ut såhär
Över 30: Christian
Under 30: Diana,Carl,Karin
Gift: Christian,Diana
Ogift: Carl,Karin
*/
const persons = [
{ name: "Christian", age: 31, married: true },
{ name: "Diana", age: 29, married: true },
{ name: "Carl", age: 28, married: false },
{ name: "Karin", age: 29, married: false },
];
const married = [];
const notMarried = [];
const overThirty = [];
const underThirty = [];
function taskSix() {
persons.forEach(person =>{
if(person.age >=30){
overThirty.push(person.name)
}else{
underThirty.push(person.name)
}
if(person.married == true){
married.push(person.name)
}else{
notMarried.push(person.name)
}
})
document.getElementById("answer-six").innerHTML = '<b>Över 30: ' + overThirty + '<br>' + '<b>Under 30: '
+ underThirty + '<br>' + '<b>Gift: ' + married + '<br>' + '<b>Ogift: ' + notMarried
}
/*
Uppgift 7:
Dela upp strängen addMeSomeLineBreaks vid varje komma och skriv
ut texten på en ny rad i diven "answer-seven"
*/
const addMeSomeLineBreaks =
"Sed ut perspiciatis unde omnis iste natus error sit voluptatem accusantium doloremque laudantium, totam rem aperiam, eaque ipsa quae ab illo inventore veritatis et quasi architecto beatae vitae dicta sunt explicabo. Nemo enim ipsam voluptatem quia voluptas sit aspernatur aut odit aut fugit, sed quia consequuntur magni dolores eos qui ratione voluptatem sequi nesciunt. Neque porro quisquam est, qui dolorem ipsum quia dolor sit amet, consectetur, adipisci velit, sed quia non numquam eius modi tempora incidunt ut labore et dolore magnam aliquam quaerat voluptatem. Ut enim ad minima veniam, quis nostrum exercitationem ullam corporis suscipit laboriosam, nisi ut aliquid ex ea commodi consequatur? Quis autem vel eum iure reprehenderit qui in ea voluptate velit esse quam nihil molestiae consequatur, vel illum qui dolorem eum fugiat quo voluptas nulla pariatur?";
function taskSeven() {
const splits = addMeSomeLineBreaks.split(",").join(",<br>")
document.getElementById("answer-seven").innerHTML = splits
}
/*
Uppgift 8:
Dölj diven med id card-eight i 3 sekunder efter att du klickat på knappenn,
efter att tre sekunder har gått ska diven visas som vanligt igen
*/
function taskEight() {
document.getElementById("card-eight").style.visibility = "hidden";
setTimeout(function(){document.getElementById("card-eight").style.visibility = "visible"; }, 3000);
}
/*
Uppgift 9:
Om klockan är över 17.00 ska bakgrundsfärgen ändras på alla divar med klassen
answer-container till blå, annars ska den ändras till röd
*/
function taskNine() {
let tim = new Date().getHours();
if(tim >= 17){
document.getElementById("answer-nine").style.backgroundColor = "blue"
}else{
document.getElementById("answer-nine").style.backgroundColor = "red"
}
}
/*
Uppgift 10:
Sista uppgiften är att bygga en miniräknare genom att anropa och förse
calculator-funktionen med tre argument (se taskTen-funktionen),
i calculator-funktionen ska du sedan göra olika beräkningar (plus, minus, gånger, delat med) på de två
första parametrarna beroende av vad den tredje parametern är satt till ("add", "subtract", "multiply", "divide").
När resultatet har beräknats ska detta visas i en alert-box.
Ytterligare så ska du innan beräkningen görs kontrollera att argument 1 och 2 är satta till nummer
och att argument nummer tre antingen är satt till "add", "subtract", "multiply" eller "divide",
om någon av dessa conditions inte uppfylls ska du visa en alertbox med texten "Något är fel"
*/
function calculator(valueOne, valueTwo, operator) {
if(Number.isInteger(valueOne,valueTwo) === false || typeof operator !== 'string'){
alert("Något är fel")
return
}
switch(operator){
case "subtract":
result = valueOne - valueTwo
alert(result)
break;
case 'add':
result = valueOne + valueTwo
alert(result)
break;
case 'multiply':
result = valueOne * valueTwo
alert(result)
console.log(typeof operator)
break;
case 'divide':
result = valueOne / valueTwo
alert(result)
break;
default:
alert("Något är fel")
}
}
function taskTen() {
//första och andra argumentet ska vara nummer, tredje argumentet ska
//vara en sträng med något av värdena "add", "subtract", "multiply", "divide"
calculator(2,5,'multiply');
}