There are several ways to obtain unique items from the result of mapping and filtering an array in JavaScript:
Example:
const arr = [3, 2, 2, 1, 4, 3];
const uniqueArr = [...new Set(arr.map(item => item * 2).filter(item => item > 4))];
console.log(uniqueArr); // Output: [6, 8]
Example:
const arr = [3, 2, 2, 1, 4, 3];
const uniqueArr = arr.map(item => item * 2).filter((item, index, self) => self.indexOf(item) === index && item > 4);
console.log(uniqueArr); // Output: [6, 8]
Example:
const arr = [3, 2, 2, 1, 4, 3];
const uniqueArr = arr.map(item => item * 2).filter(item => item > 4).reduce((acc, item) => {
if (!acc.includes(item)) {
acc.push(item);
}
return acc;
}, []);
console.log(uniqueArr); // Output: [6, 8]
All three methods will return an array containing only unique values after mapping and filtering the original array.
Asked: 2021-10-09 11:00:00 +0000
Seen: 8 times
Last updated: Aug 15 '21