diff --git a/src/arrays.js b/src/arrays.js index 822c49b7..564581a1 100644 --- a/src/arrays.js +++ b/src/arrays.js @@ -1,61 +1,79 @@ +const array = ['cat', 'dog', 'elephant', 'fox']; const getNthElement = (index, array) => { - // your code here + return array[index % array.length]; }; + const arrayToCSVString = array => { // your code here + return array.toString(); }; const csvStringToArray = string => { // your code here + return string.split(','); }; const addToArray = (element, array) => { // your code here + console.log(array.push(element)); }; const addToArray2 = (element, array) => { // your code here + return array.concat(element); }; const removeNthElement = (index, array) => { // your code here + return array.splice(index, 1); }; const numbersToStrings = numbers => { // your code here + return numbers.map(String); }; const uppercaseWordsInArray = strings => { // your code here + return strings.map(string => string.toUpperCase()); }; const reverseWordsInArray = strings => { // your code here + return strings.map(string => string.split('').reverse().join('')); }; const onlyEven = numbers => { // your code here + return numbers.filter(x => x % 2 === 0); }; const removeNthElement2 = (index, array) => { // your code here -}; + const newArray = [...array]; + newArray.splice(index, 1); + return newArray; +} const elementsStartingWithAVowel = strings => { // your code here -}; + return strings.filter(string => (string.match(/^[aeiou]/gi))); +} const removeSpaces = string => { // your code here + return string.replace(/\s+/g, ''); }; const sumNumbers = numbers => { // your code here + return numbers.reduce((total, current) => total + current, 0) }; const sortByLastLetter = strings => { // your code here + return strings.sort((x, y) => x.charCodeAt(x.length - 1) - y.charCodeAt(y.length - 1)); }; module.exports = { diff --git a/src/booleans.js b/src/booleans.js index 5ff6cb55..4418f7dc 100644 --- a/src/booleans.js +++ b/src/booleans.js @@ -1,62 +1,98 @@ -function negate(a) { - // your code here -}; +const negate = (a) => !a; -function both(a, b) { - // your code here -}; +const both = (a, b) => { + if (!a || !b) { + return false; + } + return true; +} -function either(a, b) { - // your code here -}; +const either = (a, b) => { + if (a || b) { + return true; + } + return false; +} +const none = (a, b) => { + if (a || b) { + return false; + } + return true; +} -function none(a, b) { - // your code here -}; +const one = (a, b) => { + if ((a && !b) || (b && !a)) { + return true; + } + return false; +} -function one(a, b) { - // your code here -}; +const truthiness = (a) => { + if(a){ + return true; + } + return false; + } -function truthiness(a) { - // your code here -}; +const isEqual = (a, b) => { + if (a === b){ + return true; + } + return false; + } -function isEqual(a, b) { - // your code here -}; -function isGreaterThan(a, b) { - // your code here -}; +const isGreaterThan = (a, b) => { + if (a > b){ + return true; + } + return false; + } -function isLessThanOrEqualTo(a, b) { - // your code here -}; +const isLessThanOrEqualTo = (a, b) => { + if (a <= b){ + return true; + } + return false; + } -function isOdd(a) { - // your code here -}; +const isOdd = (a) => { + if (a % 2 === 1){ + return true; + } + return false; + } -function isEven(a) { - // your code here -}; +const isEven = (a) => { + if (a % 2 === 0){ + return true; + } + return false; + } -function isSquare(a) { - // your code here -}; +const isSquare = (a) => { + if (Math.sqrt(a) % 1 === 0){ + return true; + } + return false; + } -function startsWith(char, string) { - // your code here -}; +const startsWith = (char, string) => { + if (string.startsWith(char) === true){ + return true; + } + return false; + } -function containsVowels(string) { - // your code here -}; -function isLowerCase(string) { - // your code here -}; +const containsVowels = (string) => /[aeiou]/gi.test(string); + +const isLowerCase = (string) => { + if (string === string.toLowerCase()){ + return true; + } + return false; + } module.exports = { negate, diff --git a/src/numbers.js b/src/numbers.js index d3eab646..a06be0e0 100644 --- a/src/numbers.js +++ b/src/numbers.js @@ -1,57 +1,35 @@ -function add (a, b) { - // your code here -} +const add = (a, b) => a + b; -function subtract (a, b) { - // your code here -} +const subtract = (a, b) => a - b; -function multiply (a, b) { - // your code here -} +const multiply = (a, b) => a * b; -function divide (a, b) { - // your code here -} +const divide = (a, b) => a / b; -function power (a, b) { - // your code here -} +const power = (a, b) => a ** b; -function round (a) { - // your code here -} +const round = (a) => Math.round(a); -function roundUp (a) { - // your code here -} +const roundUp = (a) => Math.ceil(a); -function roundDown (a) { - // your code here -} +const roundDown = (a) => Math.floor(a); -function absolute (a) { - // your code here -} +const absolute = (a) => Math.abs(a); -function quotient (a, b) { - // your code here -} +const quotient = (a, b) => Math.trunc(a / b); -function remainder (a, b) { - // your code here -} +const remainder = (a, b) => a % b; module.exports = { - add, - subtract, - multiply, - divide, - power, - round, - roundUp, - roundDown, - absolute, - quotient, - remainder -} +add, +subtract, +multiply, +divide, +power, +round, +roundUp, +roundDown, +absolute, +quotient, +remainder +} \ No newline at end of file diff --git a/src/objects.js b/src/objects.js index 906eef8f..3137721d 100644 --- a/src/objects.js +++ b/src/objects.js @@ -1,41 +1,59 @@ const createPerson = (name, age) => { // your code here + this.name = name; + this.age = age; + return this; }; const getName = object => { // your code here + return object.name; }; const getProperty = (property, object) => { // your code here + return object[property]; }; const hasProperty = (property, object) => { // your code here + return object[property]? true : false; }; const isOver65 = person => { // your code here + return person.age > 65? true : false; }; const getAges = people => { // your code here + return people.map(ageArray => ageArray.age); }; const findByName = (name, people) => { // your code here + return people.find(person => person.name === name); }; const findHondas = cars => { // your code here + return cars.filter(carModel => carModel.manufacturer === 'Honda'); }; const averageAge = people => { // your code here + return people.reduce((a,b) => a + b.age, 0) / people.length; }; const createTalkingPerson = (name, age) => { // your code here + return { + name: name, + age: age, + introduce: stranger => { + return `Hi ${stranger}, my name is ${name} and I am ${age}!`; + } + }; }; module.exports = { diff --git a/src/strings.js b/src/strings.js index ce02affa..84e11fe5 100644 --- a/src/strings.js +++ b/src/strings.js @@ -1,26 +1,14 @@ -function sayHello (string) { - // your code here -}; +const sayHello = (string) => `Hello, ${string}!`; -function uppercase (string) { - // your code here -}; +const uppercase = (upperWord) => upperWord.toUpperCase(); -function lowercase (string) { - // your code here -}; +const lowercase = (lowerWord) => lowerWord.toLowerCase(); -function countCharacters (string) { - // your code here -}; +const countCharacters = (countWord) => countWord.length; -function firstCharacter (string) { - // your code here -}; +const firstCharacter = (firstAlp) => firstAlp[0]; -function firstCharacters (string, n) { - // your code here -}; +const firstCharacters = (string, n) => string.slice(0, n); module.exports = { sayHello,