From 3220a94290c86df870e99ca2ec7d685e296ce551 Mon Sep 17 00:00:00 2001 From: meryem sener Date: Fri, 1 Nov 2019 20:07:22 +0100 Subject: [PATCH 1/3] app.js --- week-1-project/app.js | 91 +++++++++++++++++++++++++++++++++++++++++-- 1 file changed, 88 insertions(+), 3 deletions(-) diff --git a/week-1-project/app.js b/week-1-project/app.js index fd5f1e0..1c728fc 100644 --- a/week-1-project/app.js +++ b/week-1-project/app.js @@ -3,42 +3,127 @@ const object = { NaNyStrings: [], isNumberyString: function (param) { // write me! + if (typeof param=== "string" && isNaN(param)=== false ){ + return true; + }else{ + return false; + } }, addString: function (param) { - if (null) return false; // write this early return condition - + if (typeof param !== 'string') return false; // write this early return condition + else { + if (isNaN(param)) { + this.NaNyStrings.push(param); + } else { + this.numberyStrings.push(param); + } + return true; + } + // write me! (using this.isNumberyString) }, allStrings: function () { // write me! + if( this.numberyStrings.length !== 0 && this.NaNyStrings.length === 0){ + return this.numberyStrings; + }else if ( this.numberyStrings.length === 0 && this.NaNyStrings.length !== 0){ + return this.NaNyStrings; + }else if(this.numberyStrings.lenght !== 0 && this.NaNyStrings.lenght !== 0){ + + return this.numberyStrings.concat(this.NaNyStrings); + + } }, evenStrings: function () { // write me! + function notOddNumber(number){ + return number %2 === 0; + } + if(this.NaNyStrings.length !== 0 && this.numberyStrings.length === 0){ + return this.numberyStrings; + }else if (this.NaNyStrings.length === 0 && this.numberyStrings.length !== 0 ){ + return this.numberyStrings.filter(notOddNumber);// take the even numbers + }else if(this.NaNyStrings.length !== 0 && this.numberyStrings.length !== 0){ + return this.numberyStrings.filter(notOddNumber); + } + }, + oddStrings: function () { // write me! + function notEvenNumber(number){ + return number %2 !== 0; + } + if(this.NaNyStrings.length !== 0 && this.numberyStrings.length === 0){ + return this.numberyStrings; + }else if (this.NaNyStrings.length === 0 && this.numberyStrings.lenght !== 0) { + return this.numberyStrings.filter(notEvenNumber);// take the odd numbers + }else if(this.NaNyStrings.length !== 0 && this.numberyStrings.length !== 0){ + return this.numberyStrings.filter(notEvenNumber); + } }, + negativeStrings: function () { // write me! + function negatifNumbers(number){ + return number <0; + } + if(this.NaNyStrings.length !== 0 && this.numberyStrings.length === 0){ + return this.numberyStrings; + }else if( this.NaNyStrings.length === 0 ){ //&& this.numberyStrings.length !== 0 + return this.numberyStrings.filter(negatifNumbers); + }else if (this.NaNyStrings.length !== 0 && this.numberyStrings.length !== 0); + return this.numberyStrings.filter(negatifNumbers); }, + + positiveStrings: function () { // write me! + function pozitifNumbers(number){ + return number > 0 || number === ""; + } + if(this.NaNyStrings.length !== 0 && this.numberyStrings.length === 0){ + return this.numberyStrings; + }else if( this.NaNyStrings.length === 0 ){ //&& this.numberyStrings.length !== 0 + return this.numberyStrings.filter(pozitifNumbers); + }else if( this.NaNyStrings.length !== 0 && this.numberyStrings.length!==0 ){ + return this.numberyStrings.filter(pozitifNumbers); + }else if( this.NaNyStrings.length !== 0 && this.numberyStrings.length!==0){ + return this.numberyStrings.filter(pozitifNumbers); + } }, zeroStrings: function () { // write me! + function zerro(number){ + return number ==0 || number ==''; + } + if(this.NaNyStrings.length !== 0 && this.numberyStrings.length === 0){ + return this.numberyStrings; + }else if( this.NaNyStrings.length === 0 && this.numberyStrings.length !== 0){ + return this.numberyStrings.filter(number); + }else if (this.NaNyStrings.length !== 0 && this.numberyStrings.length !== 0){ + return this.numberyStrings.filter(number); + } + }, numberyAsNumbers: function () { // write me! + + }, NaNyAsNumbers: function () { // write me! }, sumOfNumbery: function () { // write me! + function sum(a,b) { + return (a+b); + + } }, sumOfNaNy: function () { // write me! + return undefined; }, }; - From edc90e4f2cd9f97c7df28f2cd3c4fba3bb0f048c Mon Sep 17 00:00:00 2001 From: meryem sener Date: Fri, 1 Nov 2019 20:38:53 +0100 Subject: [PATCH 2/3] zeroString --- week-1-project/app.js | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/week-1-project/app.js b/week-1-project/app.js index 1c728fc..2e0688a 100644 --- a/week-1-project/app.js +++ b/week-1-project/app.js @@ -94,15 +94,15 @@ const object = { }, zeroStrings: function () { // write me! - function zerro(number){ - return number ==0 || number ==''; + function sifir(number){ + return number == 0 || number ==" "; } if(this.NaNyStrings.length !== 0 && this.numberyStrings.length === 0){ return this.numberyStrings; }else if( this.NaNyStrings.length === 0 && this.numberyStrings.length !== 0){ - return this.numberyStrings.filter(number); + return this.numberyStrings.filter(sifir); }else if (this.NaNyStrings.length !== 0 && this.numberyStrings.length !== 0){ - return this.numberyStrings.filter(number); + return this.numberyStrings.filter(sifir); } }, From 22b3565ef78172f85129a344cefd39bf9ef0f71a Mon Sep 17 00:00:00 2001 From: meryem sener Date: Fri, 8 Nov 2019 23:51:30 +0100 Subject: [PATCH 3/3] .. --- week-2-project/app.js | 45 ++++++++++++------- week-2-project/practice-problems/index.html | 4 +- week-2-project/practice-problems/objects.js | 15 ++++++- .../practice-problems/project-prep.js | 15 ++++++- 4 files changed, 58 insertions(+), 21 deletions(-) diff --git a/week-2-project/app.js b/week-2-project/app.js index 1eec39e..c9d0f19 100644 --- a/week-2-project/app.js +++ b/week-2-project/app.js @@ -15,44 +15,55 @@ const object = { entries: {}, isPrimitive: function (value) { // write me! + //if (typeof Object(value) === 'object') return true; + //return (value !== Object(value)); + var type = typeof value; + return value == null || (type != "object" && type != "function"); }, hasKey: function (obj, key) { // write me! + return obj != null && hasOwnProperty.call(obj, key); }, hasValue: function (obj, value) { // write me! + return (Object.values(obj).indexOf(value)> -1); }, addEntry: function (key, value) { - if (null) { // write me! + if (key='string') { // write me! return new TypeError('addEntry: key should be a string'); } - if (null) { // write me! (using this.isPrimitive) + if (value !== Object(value)!== true) { // write me! (using this.isPrimitive) + this.primitive=[]; return new TypeError('addEntry: value should be a primitive'); } - if (null) { // write me! (using this.hasKey) + if (this.entries[key]=value) { // write me! (using this.hasKey) + return new Error(`addEntry: key "${key}" already exists`); } // write me! + }, removeEntry: function (key) { - if (null) { // write me! + if (key!=="string") { // write me! return new TypeError('removeEntry: key should be a string'); } - if (null) { // write me! (using this.hasKey) + + if (this.hasOwnProperty(key)===true) { // write me! (using this.hasKey)// hasKey ile bilinmesi gereken hasOwnProperty return new ReferenceError(`removeEntry: no property "${key}" in this.entries`); - } + }else + return true; //BURAYA TEKRAR DON!!!!! // write me! }, updateEntry: function (key, value) { - if (null) { // write me! + if (key="string") { // write me! return new TypeError('updateEntry: key should be a string'); } - if (null) { // write me! (using this.isPrimitive) + if (this.isPrimitive(value =='', arg)) { // write me! (using this.isPrimitive) return new TypeError('updateEntry: value should be a primitive'); } - if (null) { // write me! (using this.hasKey) + if (this.hasKey(key!==key)) { // write me! (using this.hasKey) return new ReferenceError(`updateEntry: no property "${key}" in this.entries`); } @@ -60,24 +71,26 @@ const object = { }, readAll: function () { // write me! - }, + + }, + findByKey: function (key) { - if (null) { // write me! + if (key !== 'string') { // write me! return new TypeError('findByKey: key should be a string'); } - if (null) { // write me! (using this.hasKey) + if (this.hasKey === "string") { // write me! (using this.hasKey) return new ReferenceError(`findByKey: no property "${key}" in this.entries`); } - +//BURAYA TEKRAR DON // write me! }, findByValue: function (value) { - if (null) { // write me! (using this.isPrimitive) + if (value !== 'isPrimitive') { // write me! (using this.isPrimitive) return new TypeError('findByValue: value should be a primitive'); } - if (null) { // write me! (using this.hasValue) + if (this.hasValue(value)) { // write me! (using this.hasValue) return new ReferenceError(`findByValue: no entry with value (${typeof value}, ${value})`); - } + }else return false; //BURAYA TEKRAR DON // write me! (this one is a bit trickier) }, diff --git a/week-2-project/practice-problems/index.html b/week-2-project/practice-problems/index.html index 48a7c5f..1d54f39 100644 --- a/week-2-project/practice-problems/index.html +++ b/week-2-project/practice-problems/index.html @@ -13,8 +13,8 @@ - - + + diff --git a/week-2-project/practice-problems/objects.js b/week-2-project/practice-problems/objects.js index 003bc42..89c0641 100644 --- a/week-2-project/practice-problems/objects.js +++ b/week-2-project/practice-problems/objects.js @@ -116,32 +116,44 @@ try { function passTheAssertions1() { ; // declare and assign a1 ; // declare and assign a2 + const a1={} + const a2= a1 + //burada yazdigin altta istenen esitli ya da esitsiz olan haller, a1 ile a2 birbirine esit + console.assert(a1 === a2, 'a1 should strictly equal a2'); ; // declare and assign b1 ; // declare and assign b2 + const b1={} + const b2={}// burada yazdigin seyler altta istenen esitlik ya da esitsizlikler console.assert(b1 !== b2, 'b1 should not strictly equal b2'); // --- ; // write one line to pass the assertions + a1.x === 'hi'; console.assert(a1.x === a2.x, 'a1.x should strictly equal a2.x'); console.assert(a1.x === 'hi!', 'a1.x should strictly equal "hi!"'); ; // write two lines to pass the assertions ; + b1.x=== 'bye!'; + b2.x==='bye!'; console.assert(b1.x === b2.x, 'b1.x should strictly equal b2.x'); console.assert(b1.x === 'bye!', 'b1.x should strictly equal "bye!"'); // -- const index = 'y'; - + a2[index]==='roof!'; + a2[index]===a1[index]; ; // write one line to pass the assertions console.assert(a1[index] === a2[index], 'a1[index] should strictly equal a2[index]'); console.assert(a1[index] === 'roof!', 'a1[index] should strictly equal "roof!"'); ; // write two lines to pass the assertions ; + b2[index] === b1[index]; + b1[index]==='floor!'; console.assert(b1[index] === b2[index], 'b1[index] should strictly equal b2[index]'); console.assert(b1[index] === 'floor!', 'b1[index] should strictly equal "floor!"'); @@ -153,6 +165,7 @@ try { function passTheAssertions2() { const value1 = 5; let reference1 = {}; + ; // write this line console.assert(value2 === value1, "value1 should strictly equal value2"); diff --git a/week-2-project/practice-problems/project-prep.js b/week-2-project/practice-problems/project-prep.js index 936b72e..2e5fda1 100644 --- a/week-2-project/practice-problems/project-prep.js +++ b/week-2-project/practice-problems/project-prep.js @@ -22,6 +22,8 @@ try { ]; function isPrimitive(thing) { // write me! + var type = typeof thing; + return thing == null || (type != "object" && type != "function"); } isPrimitive.display = true; evaluate(isPrimitive, isPrimitiveTests); @@ -38,13 +40,16 @@ try { ]; function hasKey(obj, key) { // write me! - } + return obj != null && hasOwnProperty.call(obj, key); + // return (Object.values(obj).indexOf(values) > -1); +} + hasKey.display = true; evaluate(hasKey, hasKeyTests); const hasValueTests = [ - { name: 'first', args: [{ a: 0 }, 0], expected: true }, + { name: 'first', args: [{ a:/*key*/ 0/* value*/ }, 0], expected: true }, { name: 'second', args: [{ b: 0 }, 1], expected: false }, { name: 'third', args: [{ a: 1 }, 0], expected: false }, { name: 'fourth', args: [{ b: 1 }, 1], expected: true }, @@ -55,6 +60,8 @@ try { function hasValue(obj, value) { // write me! // consider using Object.keys, .filter and obj.hasOwnProperty + +return (Object.values(obj).indexOf(value)> -1); } hasValue.display = true; evaluate(hasValue, hasValueTests); @@ -88,6 +95,9 @@ try { function deleteFromObject(obj, key) { // write me! // (remember to avoid side effects) + + +delete deleteFromObject(obj); } deleteFromObject.display = true; evaluate(deleteFromObject, deleteFromObjectTests) @@ -104,6 +114,7 @@ try { function findByKey(obj, key) { // write me! // (remember to avoid side effects) + } findByKey.display = true; evaluate(findByKey, findByKeyTests)