Removes all duplicates from multiple nested array recursively.
First install using npm:
npm install uniqq
input parameters:
Then use it as follows:
array
is the array to remove items fromkey
is the key of object with duplicate value
const removeDuplicates = require('uniqq');
const arrObj = [
{ name: 'Leonor' },
{ name: 'Esperanza' },
{ name: 'Leonor' },
{ name: 'Horacio' },
{ name: 'Leonor' },
{ name: 'Nicholas' },
{ name: 'Leonor' }
];
console.log(removeDuplicates(arrObj, key = 'name'));
//Prints:
//
// [
// { name: 'Leonor' },
// { name: 'Esperanza' },
// { name: 'Horacio' },
// { name: 'Nicholas' }
// ]
//
This method remove all duplicate objects recursively base on object key
Then use it as follows:
const removeDuplicates = require('uniqq');
const arr = [{ id: 1, title: 'technology lovers' }, { id: 2, title: 'geeks' }, { id: 2, title: 'geeks' }, { id: 1, title: 'musics' }, {
id: 4, jobs: [
{ id: 1, title: 'chef' },
{ id: 2, title: 'accountant' },
{ id: 2, title: 'teacher' },
{ id: 2, title: 'teacher' },
{ id: 2, title: 'teacher' },
], educations: [
{ id: 1, title: 'software engineer' },
{ id: 1, title: 'software engineer' },
{ id: 2, title: 'data science' },
{ id: 2, title: 'data science' },
{ id: 2, title: 'data science' },
{ id: 2, title: 'data science' },
{ id: 54, title: 'data science' },
{ id: 2, title: 'data science' },
{
fields: [
{
main: [
{ id: 1, title: 'software engineer' },
{ id: 2, title: 'data science' },
{ id: 2, title: 'data science' },
{ id: 2, title: 'data science' },
{ id: 2, title: 'data science' }
]
}
]
}
]
}];
console.log(removeDuplicates(arr, 'title', true));
//Prints:
//
// [
// { id: 1, title: 'technology lovers' },
// { id: 2, title: 'geeks' },
// { id: 1, title: 'musics' },
// {
// id: 4,
// jobs: [
// { id: 1, title: 'chef' },
// { id: 2, title: 'accountant' },
// { id: 2, title: 'teacher' }
// ],
// educations: [
// { id: 1, title: 'software engineer' },
// { id: 2, title: 'data science' },
// {
// fields: [
// {
// main: [
// { id: 1, title: 'software engineer' },
// { id: 2, title: 'data science' }
// ]
// }
// ]
// }
// ]
// }
// ]
//
Note: if you don't want to remove duplicate objects recursively you can set nestedRemover parameter false as follow:
removeDuplicates(arr, 'title', false);
Then use it as follows:
const removeDuplicates = require('uniqq');
const strArr = ['alex', 'william', 'martin', 'sara', 'sara', 'max'];
console.log(removeDuplicates(strArr));
//Prints:
//
// 'alex', 'william', 'martin', 'sara', 'max'
//
Then use it as follows:
const removeDuplicates = require('uniqq');
const numberArr = [111, 22, 33, 44, 55, 66, 77, 88, 88, 99, 10, 10, 10, 10];
console.log(removeDuplicates(numberArr));
//Prints:
//
// 111, 22, 33, 44, 55, 66, 77, 88, 99, 10
//
Pull requests are always welcome! Please base pull requests against the main branch and follow the contributing guide.
if your pull requests makes documentation changes, please update readme file.
This project is licensed under the terms of the MIT license