Description
The current @ArrayUnique uses a filter based method to compare objects. This is an O(n^2) solutions. The JS spec for Set states that
The specification requires sets to be implemented "that, on average, provide access times that are sublinear on the number of elements in the collection". Therefore, it could be represented internally as a hash table (with O(1) lookup), a search tree (with O(log(N)) lookup), or any other data structure, as long as the complexity is better than O(N).
Hence, I believe it would be more performant to use a Set based approach to check for uniqueness.
Proposed solution
Something as simple as
Array.from(new Set(inputArray)).length == inputArray.length
Description
The current
@ArrayUniqueuses a filter based method to compare objects. This is anO(n^2)solutions. The JS spec for Set states thatHence, I believe it would be more performant to use a Set based approach to check for uniqueness.
Proposed solution
Something as simple as