From 155a329fdce72b2cc98fb8812e5f716f5397a5da Mon Sep 17 00:00:00 2001 From: Diba <72705126+DibaKarimi@users.noreply.github.com> Date: Thu, 8 Jul 2021 15:30:26 +0100 Subject: [PATCH] pass.test --- I.pass-tests/01-add-one/add-one.js | 4 +++- I.pass-tests/02-get-word-lengths/get-word-lengths.js | 4 +++- I.pass-tests/03-sum-numbers/add-numbers.js | 6 +++++- I.pass-tests/04-find-needle/find-needle.js | 4 +++- I.pass-tests/05-factorial/factorial.js | 5 ++++- I.pass-tests/06-remove-middle/remove-middle.js | 5 +++++ I.pass-tests/07-second-largest/second-largest.js | 4 ++++ I.pass-tests/08-get-average/get-average.js | 5 +++++ I.pass-tests/09-car-sales/car-sales.js | 10 ++++++++++ I.pass-tests/10-paint-ford/paint-cars.js | 11 +++++++++++ I.pass-tests/11-cities-formatter/cities.js | 6 ++++++ I.pass-tests/ES-6-practice/es6.test.js | 2 +- 12 files changed, 60 insertions(+), 6 deletions(-) diff --git a/I.pass-tests/01-add-one/add-one.js b/I.pass-tests/01-add-one/add-one.js index d955394c..54e4a222 100644 --- a/I.pass-tests/01-add-one/add-one.js +++ b/I.pass-tests/01-add-one/add-one.js @@ -1 +1,3 @@ -module.exports = function(numbers) {}; +module.exports = function(numbers) { + return numbers.map((number)=>number+1) +}; diff --git a/I.pass-tests/02-get-word-lengths/get-word-lengths.js b/I.pass-tests/02-get-word-lengths/get-word-lengths.js index d7560427..8478d426 100644 --- a/I.pass-tests/02-get-word-lengths/get-word-lengths.js +++ b/I.pass-tests/02-get-word-lengths/get-word-lengths.js @@ -1,3 +1,5 @@ -var getWordLengths = function(someWords) {}; +var getWordLengths = function(someWords) { + return someWords.map(word=>word.length) +}; module.exports = getWordLengths; diff --git a/I.pass-tests/03-sum-numbers/add-numbers.js b/I.pass-tests/03-sum-numbers/add-numbers.js index 09b2a134..b9f59c44 100644 --- a/I.pass-tests/03-sum-numbers/add-numbers.js +++ b/I.pass-tests/03-sum-numbers/add-numbers.js @@ -1,2 +1,6 @@ -function addNumbers(numbers) {} +function addNumbers(numbers) { + +return numbers.reduce((a,b) => a+b); + +} module.exports = addNumbers; diff --git a/I.pass-tests/04-find-needle/find-needle.js b/I.pass-tests/04-find-needle/find-needle.js index d192cc6a..b31a6286 100644 --- a/I.pass-tests/04-find-needle/find-needle.js +++ b/I.pass-tests/04-find-needle/find-needle.js @@ -1,3 +1,5 @@ -function findNeedle(words) {} +function findNeedle(words,key) { + return words.indexOf(key) +} module.exports = findNeedle; diff --git a/I.pass-tests/05-factorial/factorial.js b/I.pass-tests/05-factorial/factorial.js index fefa4368..0ac19736 100644 --- a/I.pass-tests/05-factorial/factorial.js +++ b/I.pass-tests/05-factorial/factorial.js @@ -8,6 +8,9 @@ // calculate and return the factorial of int // note: factorial of 0 is 1 -function factorial(int) {} +function factorial(int) { + return int === 0 ? 1 : int * factorial(int - 1); +} module.exports = factorial; + \ No newline at end of file diff --git a/I.pass-tests/06-remove-middle/remove-middle.js b/I.pass-tests/06-remove-middle/remove-middle.js index e69de29b..20cd8467 100644 --- a/I.pass-tests/06-remove-middle/remove-middle.js +++ b/I.pass-tests/06-remove-middle/remove-middle.js @@ -0,0 +1,5 @@ +function removeMiddle(words) { + const index = Math.floor(words.length / 2); + return words.splice(index, 1); +} +module.exports = removeMiddle; diff --git a/I.pass-tests/07-second-largest/second-largest.js b/I.pass-tests/07-second-largest/second-largest.js index e69de29b..be138328 100644 --- a/I.pass-tests/07-second-largest/second-largest.js +++ b/I.pass-tests/07-second-largest/second-largest.js @@ -0,0 +1,4 @@ +function secondLargest(numbers) { + return numbers.sort((a, b) => b-a)[1]; +} +module.exports = secondLargest; diff --git a/I.pass-tests/08-get-average/get-average.js b/I.pass-tests/08-get-average/get-average.js index 2534a22d..d45928f5 100644 --- a/I.pass-tests/08-get-average/get-average.js +++ b/I.pass-tests/08-get-average/get-average.js @@ -1,3 +1,8 @@ // the input is an array of numbers and strings // return the average of all the numbers // be sure to exclude the strings +function average(array) { + const numbers = array.filter((ele) => typeof ele === "number"); + return numbers.reduce((a, b) => a + b) / numbers.length; +} +module.exports = average; diff --git a/I.pass-tests/09-car-sales/car-sales.js b/I.pass-tests/09-car-sales/car-sales.js index e69de29b..69d8d76f 100644 --- a/I.pass-tests/09-car-sales/car-sales.js +++ b/I.pass-tests/09-car-sales/car-sales.js @@ -0,0 +1,10 @@ +function sales(carsSold) { + let result = {}; + carsSold.map((element) => { + if (result.hasOwnProperty(element.make)) { + result[element.make] = result[element.make] + element.price; + } else result[element.make] = element.price; + }); + return result; +} +module.exports = sales; diff --git a/I.pass-tests/10-paint-ford/paint-cars.js b/I.pass-tests/10-paint-ford/paint-cars.js index e69de29b..f3ad90b8 100644 --- a/I.pass-tests/10-paint-ford/paint-cars.js +++ b/I.pass-tests/10-paint-ford/paint-cars.js @@ -0,0 +1,11 @@ +function paintShop(cars, newColour) { + var carArr = JSON.parse(JSON.stringify(cars)); + if (newColour) { + carArr.map((car) => { + car.colour = car.colour === "Red" ? newColour : car.colour; + }); + } + + return carArr; +} +module.exports = paintShop; diff --git a/I.pass-tests/11-cities-formatter/cities.js b/I.pass-tests/11-cities-formatter/cities.js index e69de29b..226f26c0 100644 --- a/I.pass-tests/11-cities-formatter/cities.js +++ b/I.pass-tests/11-cities-formatter/cities.js @@ -0,0 +1,6 @@ +function formatCities(capitals, transform){ + let result=[]; +capitals.map((capital) => result.push(`${capital.city} is the capital of ${capital.country}`)); +return result; +} +module.exports=formatCities; \ No newline at end of file diff --git a/I.pass-tests/ES-6-practice/es6.test.js b/I.pass-tests/ES-6-practice/es6.test.js index e93df418..eefcc48f 100644 --- a/I.pass-tests/ES-6-practice/es6.test.js +++ b/I.pass-tests/ES-6-practice/es6.test.js @@ -4,7 +4,7 @@ const { combineArrays, destructuring, templateString -} = require("./index"); +} = require("./es6"); test("function arrow is instance of a function", () => { expect(arrow).toBeInstanceOf(Function);