Check if all array elements are unique based on function
JavaScript, Array · Jan 7, 2021

Checks if all elements in an array are unique, based on the provided mapping function.
- Use
Array.prototype.map()
to applyfn
to all elements inarr
. - Create a new
Set
from the mapped values to keep only unique occurrences. - Use
Array.prototype.length
andSet.prototype.size
to compare the length of the unique mapped values to the original array.
const allUniqueBy = (arr, fn) => arr.length === new Set(arr.map(fn)).size;
allUniqueBy([1.2, 2.4, 2.9], Math.round); // true
allUniqueBy([1.2, 2.3, 2.4], Math.round); // false