We have given a JavaScript array, and the task is to find all non-unique elements of the array. To get all non-unique values from the array here are a few examples.
These are the following methods to get all non-unique values from an array:
- Using Array Slice() Method
- Using for loop
- Using filter() Method
Approach 1: Using Array Slice() Method
This method returns the selected elements in a new array object. This method gets the elements starting from the specified start argument and ends at excluding the given end argument.
Syntax:
array.slice(start, end)
Parameters:
- start: This parameter is optional. It specifies the integer from where to start the selection (index starts from 0). Negative numbers are used to select from the end of the array. If not used, it acts like “0”.
- end: This parameter is optional. It specifies the integer from where the end of the selection. If not used all elements from the start to the end of the array will be selected. Negative numbers are used to select from the end of the array.
Example: This example first sorts the array and then selects them one by one if they are non-unique.
Javascript
let arr = [89, 89, 11, 2, 3, 4, 2, 4, 5, 7]; let sort_arr = arr.slice().sort(); let res = []; function gfg_Run() { for (let i = 0; i < sort_arr.length - 1; i++) { if (sort_arr[i + 1] == sort_arr[i]) { res.push(sort_arr[i]); } } console.log( "Non Unique values are: " + res); } gfg_Run(); |
Non Unique values are: 2,4,89
Approach 2: Using for loop
In this method make a dictionary and then store the frequency of each element. Later if they are found to be a frequency of more than 1, then the element will be selected.
Example:
Javascript
let arr = [89, 89, 11, 2, 3, 4, 2, 4, 5, 7]; function gfg_Run() { let len = arr.length, output = [], count = {}; for (let i = 0; i < len; i++) { let item = arr[i]; count[item] = count[item] >= 1 ? count[item] + 1 : 1; if (count[item] === 2) { output.push(item); } } console.log( "Non Unique Values: " + output); } gfg_Run(); |
Non Unique Values: 89,2,4
Approach 3: Using filter() Method
Example: This example uses the filter method which checks the index of elements varies for elements any element and returns elements.
Javascript
let arr = [89, 89, 11, 2, 3, 4, 2, 4, 5, 7]; function gfg_Run() { let output = arr.filter( (item, index) => arr.indexOf(item) !== index); console.log( "Non-Unique values are = " + output); } gfg_Run(); |
Non-Unique values are = 89,2,4