Skip to content

Get unique objects from an array of objects based on single/multiple keys.

License

Notifications You must be signed in to change notification settings

palashmon/unique-objects

Repository files navigation

unique-objects CI

Get unique objects from array of objects based on single/multiple keys.

Install

$ npm i unique-objects

Usage

This can be helpful in cases where you need unique records based on a single key or multiple keys.

const uniqueObjects = require('unique-objects');
const users = [
	{ id: 1, username: 'bret' },
	{ id: 2, username: 'samantha' },
	{ id: 2, username: 'samantha' },
	{ id: 2, username: 'samantha2' },
	{ id: 3, username: 'elvis' },
	{ id: 3, username: 'elvis2' },
	{ id: 3, username: 'elvis2' }
];

// Get unique objects in the users array based on just id
uniqueObjects(users, ['id']);

//=> Returns just 3 unique objects out of 7
// [
// 	{ "id": 1, "username": "bret"},
// 	{ "id": 2, "username": "samantha2"},
// 	{ "id": 3, "username": "elvis2"},
// ]

// Get unique objects in the users array based on both id & username
uniqueObjects(users, ['id', 'username']);

//=> Returns just 5 unique objects out of 7
// [
// 	{ "id": 1, "username": "bret"},
// 	{ "id": 2, "username": "samantha"},
// 	{ "id": 2, "username": "samantha2"},
// 	{ "id": 3, "username": "elvis"},
// 	{ "id": 3, "username": "elvis2"},
// ]

API

uniqueObjects(arrayInput, keys)

arrayInput

Type: Array
Default: []

Must be a JavaScript Array. This is main array of object that we are going to process.

keys

Type: Array
Default: []

Must be a JavaScript Array. This is the array of key(s) in the object that is used to find object is unique or not.

License

MIT © Palash Mondal