From f26ebda4f17c7841ebf7d2b62c3fa4ddcec67b8a Mon Sep 17 00:00:00 2001 From: gidra5 Date: Sun, 24 Nov 2019 21:03:03 +0200 Subject: [PATCH] Tasks done --- Exercises/1-remove.js | 5 ++--- Exercises/2-elements.js | 3 ++- Exercises/3-unique.js | 10 +++++++++- Exercises/4-difference.js | 10 +++++++++- 4 files changed, 22 insertions(+), 6 deletions(-) diff --git a/Exercises/1-remove.js b/Exercises/1-remove.js index 82fba07..5a239f5 100644 --- a/Exercises/1-remove.js +++ b/Exercises/1-remove.js @@ -1,7 +1,6 @@ 'use strict'; -const removeElement = (array, item) => { - // Remove item from array modifying original array -}; +const removeElement = (array, item) => + (array.includes(item) ? array.splice(array.indexOf(item), 1) : array); module.exports = { removeElement }; diff --git a/Exercises/2-elements.js b/Exercises/2-elements.js index 8518c71..1ce681c 100644 --- a/Exercises/2-elements.js +++ b/Exercises/2-elements.js @@ -1,7 +1,8 @@ 'use strict'; const removeElements = (array, ...items) => { - // Remove multiple items from array modifying original array + for (const item of items) + array.includes(item) ? array.splice(array.indexOf(item), 1) : array; }; module.exports = { removeElements }; diff --git a/Exercises/3-unique.js b/Exercises/3-unique.js index b738823..e113dea 100644 --- a/Exercises/3-unique.js +++ b/Exercises/3-unique.js @@ -3,6 +3,14 @@ // Create and return a new array without duplicate elements // Don't modify initial array -const unique = array => []; +const unique = array => { + const na = []; + + array.forEach(i => { + if (!na.includes(i)) na.push(i); + }); + + return na; +}; module.exports = { unique }; diff --git a/Exercises/4-difference.js b/Exercises/4-difference.js index 37d24ab..bf7c9b7 100644 --- a/Exercises/4-difference.js +++ b/Exercises/4-difference.js @@ -3,6 +3,14 @@ // Find difference of two arrays // elements from array1 that are not includes in array2 -const difference = (array1, array2) => []; +const difference = (array1, array2) => { + const na = []; + + array1.forEach(i => { + if (!array2.includes(i)) na.push(i); + }); + + return na; +}; module.exports = { difference };