1
+ const user = {
2
+ name : "Nynne" ,
3
+ nickname : "nice" ,
4
+ age : 33 ,
5
+ nationality : "DK" ,
6
+ gender : "woman" ,
7
+ languages : [ "DK" , "EN" , "DE" , "JavaScript" , "Ruby" ] ,
8
+ education : "university" ,
9
+ isMarried : false ,
10
+ friends : {
11
+ bestFriends : [ "gizem" , "Rasmus" ] ,
12
+ acquaintences : [ "christopher" , "birte" ]
13
+ }
14
+ }
15
+
16
+ const user2 = {
17
+ name : "Rasmus" ,
18
+ nickname : "Rassi" ,
19
+ age : 29 ,
20
+ nationality : "DK/EN" ,
21
+ gender : "man" ,
22
+ languages : [ "DK" , "EN" , "DE" , "JavaScript" , "Ruby" , "Python" , "MATLAB" , "C/C++" , "Julia" , "PHP" , "Java" ] ,
23
+ education : "PhD" ,
24
+ isMarried : false ,
25
+ friends : {
26
+ bestFriends : [ "Mark" , "Nynne" ] ,
27
+ acquaintences : [ "Christopher" , "Marie" ]
28
+ }
29
+ }
30
+
31
+ const user3 = {
32
+ name : "Marie" ,
33
+ nickname : "M" ,
34
+ age : 31 ,
35
+ nationality : "DK" ,
36
+ gender : "woman" ,
37
+ languages : [ "DK" , "EN" , "ES" ] ,
38
+ education : "university" ,
39
+ isMarried : false ,
40
+ friends : {
41
+ bestFriends : [ "Thomas" , "Rasmus" ] ,
42
+ acquaintences : [ "Christopher" , "Nynne" ]
43
+ }
44
+ }
45
+
46
+ // const isGreetedFormally = false
47
+
48
+ // let key;
49
+ // if(isGreetedFormally){
50
+ // key = 'name'
51
+ // // console.log(`Hello, ${user.name}`)
52
+ // }else{
53
+ // key = 'nickname'
54
+ // // console.log(`Hello, ${user.nickname}`)
55
+ // }
56
+
57
+ // console.log(`Hello, ${user[key]}`)
58
+ // // console.log(`Hello, ${user.nickname}`) // ERROR
59
+
60
+ // console.log(`Hello, ${user[key]}`)
61
+
62
+ // console.log(user)
63
+ // delete user.age
64
+ // console.log(user)
65
+
66
+ // console.log(user['friends']['acquaintences'])
67
+ // console.log(user.friends.acquaintences)
68
+
69
+ // console.log(user['friends'].acquaintences)
70
+ // console.log(user.friends['acquaintences'])
71
+
72
+ // console.log({name:'Rasmus',age:29}.name)
73
+
74
+ // console.log(user.languages[user.languages.length-1])
75
+ // console.log(user["languages"][user.languages.length-1])
76
+
77
+ const users = [ user , user2 , user3 ]
78
+
79
+ let sum = 0 ;
80
+ for ( let i = 0 ; i < users . length ; i ++ ) {
81
+ console . log ( `Name: ${ users [ i ] . name } ` )
82
+ console . log ( `Age: ${ users [ i ] . age } ` )
83
+ sum += users [ i ] . age
84
+ }
85
+ const avg = sum / users . length
86
+ console . log ( avg )
87
+
88
+ // Cool stuff:
89
+ const otherAvg = users . reduce ( function ( sum , user ) {
90
+ return sum += user . age
91
+ } , 0 ) / users . length ;
92
+ console . log ( otherAvg )
93
+
94
+ // For loop through all the users
95
+ // and collect all the languages from all users
96
+ // but skip duplicates
97
+ // Hint: google "javascript array includes"
98
+ // const allLanguages = []
99
+ // for(let i = 0; i < users.length; i++){
100
+ // // users[i]
101
+ // // console.log(users[i].name)
102
+ // for(let j = 0; j < users[i].languages.length; j++){
103
+ // // console.log(users[i].languages[j])
104
+ // if(!allLanguages.includes(users[i].languages[j])){
105
+ // allLanguages.push(users[i].languages[j])
106
+ // }
107
+ // }
108
+ // }
109
+ // console.log(allLanguages)
110
+
111
+ let allLanguages = [ ]
112
+ for ( let i = 0 ; i < users . length ; i ++ ) {
113
+ allLanguages = allLanguages . concat ( users [ i ] . languages ) ;
114
+ }
115
+ const mySet = new Set ( allLanguages ) ;
116
+ console . log ( Array . from ( mySet ) )
0 commit comments