Removing values from an object in a non-destructive manner:
const myObject = {
a: 1,
b: 2,
c: 3
};
const { a, ...noA } = myObject;
console.log(noA); // => { b: 2, c: 3 }
Source: codeburst.io
Remove duplicate objects from an array based on key:
function removeDupes (array, key) {
return array.filter((obj, index, self) =>
index === self.findIndex((el) => (
el[key] === obj[key]
))
)
}
Usage:
const someArray = [
{ label: 'greeting', value: 'Hello World' },
{ label: 'greeting', value: 'Hey there' },
{ label: 'greeting', value: 'Hello good person!' },
{ label: 'greeting', value: 'Hello World' },
{ label: 'greeting', value: 'Hello World' },
{ label: 'greeting', value: 'Hello World' },
]
removeDupes(someArray, 'value')
The above would return:
[
{
label: 'greeting',
value: 'Hello World'
},
{
label: 'greeting',
value: 'Hey there'
},
{
label: 'greeting',
value: 'Hello good person!'
}
]
Source: tutsmake.com
Get select keys and values from either an object or an array:
function getSome (original, desired) {
const cleaned = (original && typeof original === 'object' && original.constructor === Array)
? Object.assign({}, ...original)
: original
return desired.reduce((obj, key) => ({ ...obj, [key]: cleaned[key] }), {})
}