How to use an object/Map In Javascript
Create an empty object. Use the forEach method to iterate through each element of the input array. For each element in the input array, set its value in the map object to true. Since objects in JavaScript can only have unique keys, this effectively stores each unique element of the array as a key in the object. Use Object.keys(map) to get an array of all the keys in the map object, and then return the length of this array.
Example: To demonstrate the counting of unique elements in array using an object/Map in JavaScript.
function countUniqueMap(arr) {
// Initialize an empty object
// to store unique elements
const map = {};
// Iterate through the input array
arr.forEach(num => map[num] = true);
// Return the number of keys in the object,
// which represents the count of unique elements
return Object.keys(map).length;
}
const arr = [1, 2, 3, 1, 4, 2, 5];
console.log(countUniqueMap(arr));
Output
5
Time complexity: O(n)
Space complexity: O(n)
Count Unique Elements in Array Without Sorting using JavaScript
One can count unique elements(distinct elements) present in an array without sorting JavaScript. There are several methods of counting unique elements without sorting in JavaScript. Below is an example to understand the problem clearly.
Example:
Input: [ 1,2, 3, 1, 3, 4, 5, 5, 2]
Output: 5
Explanation: Unique Elements in array : 1, 2, 3, 4, 5. Total 5 unique elements present in array
There are several approaches to count unique elements in array without sorting in JavaScript which are as follows:
Table of Content
- Using Array Iteration
- Using a Set
- Using an object/Map