I am working with an immutable object that I need to add subtract an array of values from.
I know it's possible using ES6 destructing with the following.
const {countries, remainder} = someObj // {countries:...,languages:..., ...keys};
This will end me up with the remainder being the new Object without the countries key.
Therefore I figured out that I could use reduce on an array to go through and remove all the values from the object, returning a new object in the end, using the default parameter, being the original object.
However, I am not sure how to go about it, because the names of keys are defined in the array.
arrayToRemove.reduce((total, value) => {
const { extractValue: [value], ...remainder } = total
return remainder;
}, { ...originalObj });
arrayToRemove.reduce((total, value) => {
const { [extractValue], ...remainder } = total
return remainder;
}, { ...originalObj });
I am expecting to end up with a new Object without the keys that are contained in the array called arrayToRemove.
I need to do this while maintaining immutability, so I cannot just loop through the original object and remove them from it, so I thought the above would be a bright way to go about it.
Any help is appreciated.