We have two arrays of literals that contain some common values, our job is to write a function that returns an array with all those elements from both arrays that are not common.
For example −
// if the two arrays are: const first = ['cat', 'dog', 'mouse']; const second = ['zebra', 'tiger', 'dog', 'mouse']; // then the output should be: const output = ['cat', 'zebra', 'tiger'] // because these three are the only elements that are not common to both arrays
Let’s write the code for this −
We will spread the two arrays and filter the resulting array to obtain an array that contains no common elements like this −
Example
const first = ['cat', 'dog', 'mouse'];
const second = ['zebra', 'tiger', 'dog', 'mouse'];
const removeCommon = (first, second) => {
const spreaded = [...first, ...second];
return spreaded.filter(el => {
return !(first.includes(el) && second.includes(el));
})
};
console.log(removeCommon(first, second));Output
The output in the console will be −
[ 'cat', 'zebra', 'tiger' ]