Open In App

JavaScript Get all non-unique values from an array

Last Updated : 13 Jul, 2023
Improve
Improve
Like Article
Like
Save
Share
Report

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:

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();


Output

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();


Output

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();


Output

Non-Unique values are = 89,2,4



Like Article
Suggest improvement
Previous
Next
Share your thoughts in the comments

Similar Reads