Saturday, September 28, 2024
Google search engine
HomeLanguagesJavascriptHow to find unique characters of a string in JavaScript ?

How to find unique characters of a string in JavaScript ?

This article aims to find unique characters in a string using JavaScript. This means that character occurs once in the string then we cannot include it again.

We have a few methods to find unique characters in a string using JavaScript which are described below:

Example:

Input:  Geeksforneveropen
Output: Geksforg

Input: Geeksforneveropen is a great site for computer science
Output: Geksforg Iaticmpun

Approach 1: Using Naive Approach

This is a naive approach to finding unique characters from a string. In this approach, we create a variable name uniq and we are iterate over the string using the for loop at every iteration, we are checking if the uniq contains the character.

Example: This example shows the above-explained approach.

Javascript




function findUnique(str) {
    // The variable that contains the unique values
    let uniq = "";
 
    for (let i = 0; i < str.length; i++) {
        // Checking if the uniq contains the character
        if (uniq.includes(str[i]) === false) {
            // If the character not present in uniq
            // Concatenate the character with uniq
            uniq += str[i]
        }
    }
    return uniq;
}
 
console.log(findUnique("Geeksforneveropen"))
console.log(findUnique("Geeksforneveropen Is a great
    site for computer science"))


Output

Geksforg
Geksforg Iaticmpun

Approach 2: Using the Set

In this method, we use the set data structure. The set data structure contains only unique values, and we take advantage of it. So to extract the unique values from the string using Set we follow the steps below.

  • Using the split() method convert the string into an array.
  • Create a Set using new Set() and pass the converted array into it.
  • Now convert the set into an array using the spread operator e.g: […set]
  • And then join that array to make a string.

Example: This example shows the above-explained approach.

Javascript




// Javascript program to extract unique
//characters from a string
function findUnique(str) {
 
    // Split the string to make array
    str = str.split("")
 
    // Create a set using array
    str = new Set(str);
 
    // Convert the set into array using spread
    // operator and join it to make string
    str = [...str].join("");
 
    return str;
}
 
 
console.log(findUnique("Geeksforneveropen"))
console.log(findUnique("Geeksforneveropen Is a
    great site for computer science"))


Output

Geksforg
Geksforg Iaticmpun

Approach 3: Using the spread operator

In this approach first, we convert the string into an array using the spread operator e.g. […str] and then we apply the reduce method on that array. 

Example: This example shows the above-explained approach.

Javascript




// Javascript program to extract unique characters from a string
function findUnique(str) {
    return [...str].reduce((acc, curr) => {
        return acc.includes(curr) ? acc : acc + curr;
    }, "")
}
 
 
console.log(findUnique("Geeksforneveropen"))
console.log(findUnique("Geeksforneveropen Is
    a great site for computer science"))


Output

Geksforg
Geksforg Iaticmpun

Approach 4: Using the indexOf() Method

In this approach, we will use a for-loop in order to iterate over the complete string, and then by using the indexOf() method we will check the index of each and every character (using charAt() method) of the string which is either repeated or not repeated and then in an empty string (which we will declare initially) we will store all the unique characters.

Example: This example shows the above-explained approach.

Javascript




let uniqueCharacters = (stringg) => {
    let unique_characters = "";
    for (let i = 0; i < stringg.length; i++) {
        if (unique_characters.indexOf(stringg.charAt(i)) < 0) {
            unique_characters += stringg.charAt(i);
        }
    }
    return unique_characters;
};
console.log(uniqueCharacters("Geeksforneveropen"));


Output

Geksforg

Approach 5: Using regex

In this approach, we will use the regex expression for finding the unique element in the string.

Example:

Javascript




function uniqueChar(str) {
    // Use a regex pattern to match unique characters
    let uniqueChars = str.match(/(.)(?!\1)/g);
 
    return uniqueChars;
}
let str = "Geeksforneveropen";
let newStr = uniqueChar(str);
console.log(newStr);


Output

[
  'G', 'e', 'k', 's',
  'f', 'o', 'r', 'g',
  'e', 'k', 's'
]

Approach 6: Using _.uniq() Method

The _.uniq method is used to create an array of unique values in order, from all given arrays using SameValueZero for equality comparisons.

Example: 

Javascript




// Requiring the lodash library
const _ = require("lodash");
 
// Original array
let y = "Geeksforneveropen";
 
// Use of _.uniq()
// method
 
let gfg = _.uniq(y).join('');
 
// Printing the output
console.log(gfg);


Output:

Geksforg

RELATED ARTICLES

Most Popular

Recent Comments