From c25fc776c326b5bc900ebf6a14711b4abe53e52d Mon Sep 17 00:00:00 2001 From: vincegludovice Date: Wed, 16 Oct 2019 16:23:32 +0800 Subject: [PATCH 1/4] Javascript 4 Prototype Completion --- arrayProperty.js | 7 ++++++- instanceArray.js | 20 +++++++++++++++----- quizApp.js | 41 ++++++++++++++++++++++++++++++++--------- sayName.js | 12 ++++++++++-- user.json | 4 ++-- 5 files changed, 65 insertions(+), 19 deletions(-) diff --git a/arrayProperty.js b/arrayProperty.js index 2287a36..5e14e93 100644 --- a/arrayProperty.js +++ b/arrayProperty.js @@ -2,4 +2,9 @@ //Add a reverse method to the String 'class' so that every instance of String can call reverse and reverse itself. - //code here \ No newline at end of file + //code here + + String.prototype.reverse = function(){ + return this.split("").reverse().join('') + } + \ No newline at end of file diff --git a/instanceArray.js b/instanceArray.js index ab752ac..2963806 100644 --- a/instanceArray.js +++ b/instanceArray.js @@ -14,28 +14,38 @@ var User = function(name, email, pw){ //Create an Array called 'users' that will store all our instances of User. //code here - +var users = []; //Now create and push into your users array 3 separate instances of User using the data from above in that exact order +var user = new User('Aodhan', 'aodhan@boom.camp', 'iLoveJS'), +user2 = new User('Greg', 'greg@boom.camp', 'iLovePython'), +user3 = new User('Oscar', 'oscar@boom.camp', 'iLoveSoccer'); //code here +users.push(user); +users.push(user2); +users.push(user3); console.log('Aodhan\'s information is '); //Console.log all of Aodhan information //code here - +console.log(users[0]) console.log('Oscar\'s information is '); //Now console.log all of Oscars information //code here - +console.log(users[1]); //Now create another instance of User using your own information and then add that to your users array. - +var user4 = new User('Vince', 'vince.ludovice@boom.camp', '12345'); +users.push(user4); //code here - +console.log(users[2]); console.log('All my users names are '); //Now loop through your users Array and console.log every users name. //code here +for(arr in users){ + console.log(user[arr].name); +} \ No newline at end of file diff --git a/quizApp.js b/quizApp.js index 083bd6c..f6ca91a 100644 --- a/quizApp.js +++ b/quizApp.js @@ -6,27 +6,41 @@ //Create a QuizUser constructor that accepts name, email, password, and totalScore parameters and set them appropriatly //code here - +function QuizUser(name, email, password, totalScore){ + this.name = name; + this.email = email; + this.password = password; + this.totalScore = totalScore; +} //Create a Question constructor that accepts title, answersArray, rightAnswer, and difficulty parameters //code here - +function Question(title, answersArray, rightAnswer, difficulty){ + this.title = title; + this.answersArray = answersArray; + this.rightAnswer = rightAnswer; + this.difficulty = difficulty; +} //Create a quizUsers Array which is going to hold all of our users. //code here - +var quizUsers = []; //Let's say three people signed up for our service, create 3 instances of User and add each to the users Array //code here - - + var user = new QuizUser('Aodhan', 'aodhan@boom.camp', 'iLoveJS', 2), + user2 = new QuizUser('Greg', 'greg@boom.camp', 'iLovePython', 3), + user3 = new QuizUser('Oscar', 'oscar@boom.camp', 'iLoveSoccer', 4); + quizUsers.push(user); + quizUsers.push(user2); + quizUsers.push(user3); //Create a questions Array which is going to hold all of our questions //code here - + var questions = []; //Now, let's say we wanted to create a quiz about JavaScript. Create three instances of Question which contain the following data //title: 'T/F: Inheritance is achieved in JavaScript through Prototypes?' @@ -35,14 +49,23 @@ //Fill in the rest of the required data as you see appropriate. //code here - + var q1 = new Question('T/F: Inheritance is achieved in JavaScript through Prototypes?', 'True/False', false, 'Easy'), + q2 = new Question('T/F: JavaScript is just a scripting version of Java', 'True/False', true, 'Medium'), + q3 = new Question("T/F: In Javascript, == doesn't check 'type' but just the value - where === checks type and value", 'True/False', true, 'Hard'); //Now push all of your instances of Question into the questions Array //code here - + questions.push(q1); + questions.push(q2); + questions.push(q3); console.log('My users Array and my questions arrray are ...'); //Now loop console.log your users array and your questions array and verify that they're both holding the right data. //code here - +for(item of quizUsers){ + console.log(item); +} +for(item of questions){ + console.log(item); +} diff --git a/sayName.js b/sayName.js index 6e28b51..f946445 100644 --- a/sayName.js +++ b/sayName.js @@ -1,13 +1,21 @@ //Create a Person constructor that accepts name and age as parameters and sets those properties accordingly in the Constructor. //code here - +function Person(name, age){ + this.name = name; + this.age = age; +} //Now create three instances of Person with data you make up //code here - +var person = new Person('Vince', 19), +person2 = new Person('Lyza', 21), +person3 = new Person('Dansyle', 21); //Now add a sayName method on your Person class that will alert the name of whatever Person instance called it. //code here + Person.prototype.sayName = function(){ + alert(this.name); + } diff --git a/user.json b/user.json index 4ac80a0..f463234 100644 --- a/user.json +++ b/user.json @@ -1,4 +1,4 @@ { - "name": "", - "email": "" + "name": "Vince Gerard F. Ludovice", + "email": "vince.ludovice@boom.camp" } From 78d695f4e50349a86a2ea33c0f18971215a10a4d Mon Sep 17 00:00:00 2001 From: vincegludovice Date: Thu, 17 Oct 2019 11:29:03 +0800 Subject: [PATCH 2/4] spec update --- instanceArray.js | 2 +- test/spec/arrayPropertySpec.js | 7 ------- test/spec/quizAppSpec.js | 7 ------- test/spec/sayNameSpec.js | 7 ------- 4 files changed, 1 insertion(+), 22 deletions(-) diff --git a/instanceArray.js b/instanceArray.js index 2963806..01382a1 100644 --- a/instanceArray.js +++ b/instanceArray.js @@ -47,5 +47,5 @@ console.log('All my users names are '); //code here for(arr in users){ - console.log(user[arr].name); + console.log(users[arr].name); } \ No newline at end of file diff --git a/test/spec/arrayPropertySpec.js b/test/spec/arrayPropertySpec.js index 6907a75..b68215d 100644 --- a/test/spec/arrayPropertySpec.js +++ b/test/spec/arrayPropertySpec.js @@ -1,10 +1,3 @@ -const isNode = new Function(` - try { - return this === global; - } catch (e) { - return false; - } -`); if (isNode()) { // test if file is running in a node process diff --git a/test/spec/quizAppSpec.js b/test/spec/quizAppSpec.js index 8e0c63c..ecb9af5 100644 --- a/test/spec/quizAppSpec.js +++ b/test/spec/quizAppSpec.js @@ -1,10 +1,3 @@ -const isNode = new Function(` - try { - return this === global; - } catch (e) { - return false; - } -`); if (isNode()) { // test if file is running in a node process diff --git a/test/spec/sayNameSpec.js b/test/spec/sayNameSpec.js index 7fbb7bb..8b76117 100644 --- a/test/spec/sayNameSpec.js +++ b/test/spec/sayNameSpec.js @@ -1,10 +1,3 @@ -const isNode = new Function(` - try { - return this === global; - } catch (e) { - return false; - } -`); if (isNode()) { // test if file is running in a node process From e027edd2fc1c60aa9fed71d6deb7921a1361592d Mon Sep 17 00:00:00 2001 From: vincegludovice Date: Thu, 17 Oct 2019 15:32:22 +0800 Subject: [PATCH 3/4] spec changes --- test/spec/arrayPropertySpec.js | 7 +++++++ test/spec/quizAppSpec.js | 7 +++++++ test/spec/sayNameSpec.js | 7 +++++++ 3 files changed, 21 insertions(+) diff --git a/test/spec/arrayPropertySpec.js b/test/spec/arrayPropertySpec.js index b68215d..6907a75 100644 --- a/test/spec/arrayPropertySpec.js +++ b/test/spec/arrayPropertySpec.js @@ -1,3 +1,10 @@ +const isNode = new Function(` + try { + return this === global; + } catch (e) { + return false; + } +`); if (isNode()) { // test if file is running in a node process diff --git a/test/spec/quizAppSpec.js b/test/spec/quizAppSpec.js index ecb9af5..8e0c63c 100644 --- a/test/spec/quizAppSpec.js +++ b/test/spec/quizAppSpec.js @@ -1,3 +1,10 @@ +const isNode = new Function(` + try { + return this === global; + } catch (e) { + return false; + } +`); if (isNode()) { // test if file is running in a node process diff --git a/test/spec/sayNameSpec.js b/test/spec/sayNameSpec.js index 8b76117..7fbb7bb 100644 --- a/test/spec/sayNameSpec.js +++ b/test/spec/sayNameSpec.js @@ -1,3 +1,10 @@ +const isNode = new Function(` + try { + return this === global; + } catch (e) { + return false; + } +`); if (isNode()) { // test if file is running in a node process From 0c63f88237d5729d477d662da7485a565edccb3c Mon Sep 17 00:00:00 2001 From: vincegludovice Date: Thu, 17 Oct 2019 15:33:22 +0800 Subject: [PATCH 4/4] spec changes --- test/spec/arrayPropertySpec.js | 7 ------- test/spec/quizAppSpec.js | 7 ------- test/spec/sayNameSpec.js | 7 ------- 3 files changed, 21 deletions(-) diff --git a/test/spec/arrayPropertySpec.js b/test/spec/arrayPropertySpec.js index 6907a75..b68215d 100644 --- a/test/spec/arrayPropertySpec.js +++ b/test/spec/arrayPropertySpec.js @@ -1,10 +1,3 @@ -const isNode = new Function(` - try { - return this === global; - } catch (e) { - return false; - } -`); if (isNode()) { // test if file is running in a node process diff --git a/test/spec/quizAppSpec.js b/test/spec/quizAppSpec.js index 8e0c63c..ecb9af5 100644 --- a/test/spec/quizAppSpec.js +++ b/test/spec/quizAppSpec.js @@ -1,10 +1,3 @@ -const isNode = new Function(` - try { - return this === global; - } catch (e) { - return false; - } -`); if (isNode()) { // test if file is running in a node process diff --git a/test/spec/sayNameSpec.js b/test/spec/sayNameSpec.js index 7fbb7bb..8b76117 100644 --- a/test/spec/sayNameSpec.js +++ b/test/spec/sayNameSpec.js @@ -1,10 +1,3 @@ -const isNode = new Function(` - try { - return this === global; - } catch (e) { - return false; - } -`); if (isNode()) { // test if file is running in a node process