From ec3775f54639b4e091010a9dce790f78c0db077e Mon Sep 17 00:00:00 2001 From: Emran Hamdard <105441578+emran-ai@users.noreply.github.com> Date: Sun, 23 Jul 2023 14:01:35 +0200 Subject: [PATCH 1/2] added all files --- .eslintrc.json | 2 +- src/difference/difference-name.js | 0 src/difference/difference.js | 10 ++++++++++ src/difference/difference.spec.js | 13 +++++++++++++ 4 files changed, 24 insertions(+), 1 deletion(-) create mode 100644 src/difference/difference-name.js create mode 100644 src/difference/difference.js create mode 100644 src/difference/difference.spec.js diff --git a/.eslintrc.json b/.eslintrc.json index b81b01e..be66454 100644 --- a/.eslintrc.json +++ b/.eslintrc.json @@ -92,7 +92,7 @@ "jsdoc/check-types": 1, "jsdoc/check-values": 1, "jsdoc/empty-tags": 1, - "jsdoc/newline-after-description": 1, + //"jsdoc/newline-after-description": 1, "jsdoc/no-bad-blocks": 1, "jsdoc/no-undefined-types": 1, "jsdoc/require-description": 1, diff --git a/src/difference/difference-name.js b/src/difference/difference-name.js new file mode 100644 index 0000000..e69de29 diff --git a/src/difference/difference.js b/src/difference/difference.js new file mode 100644 index 0000000..9780c95 --- /dev/null +++ b/src/difference/difference.js @@ -0,0 +1,10 @@ +/** + * + * @param {*} array + * @param {*} value + * @returns + */ + +export function RemoveValue(array, value) { + return array.filter((item) => !value.includes(item)); +} diff --git a/src/difference/difference.spec.js b/src/difference/difference.spec.js new file mode 100644 index 0000000..c54d761 --- /dev/null +++ b/src/difference/difference.spec.js @@ -0,0 +1,13 @@ +import { RemoveValue } from './difference'; + +describe('Test', () => { + it('should return the removal value as the second argument from the array', () => { + expect(RemoveValue([2, 1], [2, 3])).toEqual([1]); + }); +}); + +describe('Test', () => { + it('should remove all occurrences of a given element in an array and returns only unique values.', () => { + expect(RemoveValue([1, 2, 3], [2, 3])).toEqual([1]); + }); +}); From a98253749152b6309852bdcc1d8f6cd85ca1fe30 Mon Sep 17 00:00:00 2001 From: Emran Hamdard <105441578+emran-ai@users.noreply.github.com> Date: Sun, 23 Jul 2023 15:22:15 +0200 Subject: [PATCH 2/2] modified the func --- src/difference/difference.js | 10 +++++++++- src/difference/difference.spec.js | 2 +- 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/src/difference/difference.js b/src/difference/difference.js index 9780c95..621c53a 100644 --- a/src/difference/difference.js +++ b/src/difference/difference.js @@ -6,5 +6,13 @@ */ export function RemoveValue(array, value) { - return array.filter((item) => !value.includes(item)); + const uniqueArray = []; + + for (const item of array) { + if (!value.includes(item) && !uniqueArray.includes(item)) { + uniqueArray.push(item); + } + } + + return uniqueArray; } diff --git a/src/difference/difference.spec.js b/src/difference/difference.spec.js index c54d761..aa31cbf 100644 --- a/src/difference/difference.spec.js +++ b/src/difference/difference.spec.js @@ -8,6 +8,6 @@ describe('Test', () => { describe('Test', () => { it('should remove all occurrences of a given element in an array and returns only unique values.', () => { - expect(RemoveValue([1, 2, 3], [2, 3])).toEqual([1]); + expect(RemoveValue([1, 2, 1], [2, 3])).toEqual([1]); }); });