forked from bloominstituteoftechnology/JavaScript-I
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathobjects.js
More file actions
140 lines (112 loc) · 3.52 KB
/
objects.js
File metadata and controls
140 lines (112 loc) · 3.52 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
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
// Let's get some practice writing a few objects for a new group of interns at a small business.
// ==== Challenge 1: Writing Objects ====
// HR needs some information on the new interns put into a database. Given an id, email, first name, and gender. Create an object for each person in the company list:
// 1, [email protected], Mitzi, F
// 2, [email protected], Kennan, M
// 3, [email protected], Keven, M
// 4, [email protected], Gannie, M
// 5, [email protected], Antonietta, F
// Example format of an intern object: 1, [email protected], Example, F
const example = {
id: 0,
name: "Example",
gender: "F",
}
// Write your intern objects here:
const mitzi = {
id: 1,
name: "Mitzi",
gender: "F"
}
const kennan = {
id: 2,
name: "Kennan",
gender: "M",
speak: function() {
return "Hello, my name is Kennan!"
}
}
const keven = {
id: 3,
name: "Keven",
gender: "M"
}
const gannie = {
id: 4,
name: "Gannie",
gender: "M"
}
const antonietta = {
id: 5,
name: "Antonietta",
gender: "F",
multiplyNums: function(a, b) {
return a * b
}
}
// ==== Challenge 2: Reading Object Data ====
// Once your objects are created, log out the following requests from HR into the console:
// Mitzi's name
console.log(mitzi.name)
// Kennan's ID
console.log(kennan.id)
// Keven's email
console.log(keven.email)
// Gannie's name
console.log(gannie.name)
// Antonietta's Gender
console.log(antonietta.gender)
// ==== Challenge 3: Object Methods ====
// Give Kennan the ability to say "Hello, my name is Kennan!" Use the console.log provided as a hint.
console.log(kennan.speak());
// Antonietta loves math, give her the ability to multiply two numbers together and return the product. Use the console.log provided as a hint.
console.log(antonietta.multiplyNums(3,4));
// === Great work! === Head over to the the arrays.js. You may come back and attempt the Stretch Challenge once you have completed the challenges in arrays.js and function-conversion.js.
console.log("end of object assn")
// ==== Stretch Challenge: Nested Objects and the this keyword ====
console.log("start of objects stretch goal")
// 1. Create a parent object with properties for name and age. Make the name Susan and the age 70.
// 2. Nest a child object in the parent object with name and age as well. The name will be George and the age will be 50.
// 3. Nest a grandchild object in the child object with properties for name and age. The name will be Sam and the age will be 30
// 4. Give each of the objects the ability to speak their names using the this keyword.
const parent = {
name: "Susan",
age: 70,
child: {
name: "George",
age: 50,
grandchild: {
name: "Sam",
age: 30,
speak: function() {
return this.name
}
},
speak: function() {
return this.name
}
},
speak: function() {
return this.name
}
}
// Log the parent object's name
console.log(parent.speak())
// Log the child's age
console.log(parent.child.age)
// Log the name and age of the grandchild
const grand_child = parent.child.grandchild
console.log(grand_child.speak(), grand_child.age)
// Have the parent speak
console.log(parent.speak())
// Have the child speak
console.log(parent.child.speak())
// Have the grandchild speak
console.log(parent.child.grandchild.speak())
console.log("end of objects stretch goal")