JavaScript Program to Remove Consecutive Duplicate Characters From a String
Last Updated :
18 Jul, 2024
We are going to implement a JavaScript program to remove consecutive duplicate characters from a string. In this program, we will eliminate all the consecutive occurrences of the same character from a string.
Example:
Input: string: "geeks"
Output: "geks"
Explanation :consecutive "e" should be removed
Using Iterative Loop
In this approach, we are using the for loop and if else statement to check if the current letter is the same as the last character or not. If it is, then we are skipping it, and if not, we are adding that character to the output string.
Syntax:
for (const letter of inputData) {
if (letter !== lastChar) {
output += letter;
lastChar = letter;
}
}
Example: This example shows the use of the above-explained approach.
JavaScript
const eleminateSameConsecutiveCharacters =
(inputData) => {
let output = "";
let lastChar = "";
for (const letter of inputData) {
if (letter !== lastChar) {
output += letter;
lastChar = letter;
}
}
return output;
};
const testString = "Geeks For Geeks";
console.log(
eleminateSameConsecutiveCharacters(
testString
)
);
Using Regular Expressions
In this approach, we are traversing each character of the string and checking if it is the same as the last character or not using the replace method. If it is the same, then we skip it; otherwise, we return it.
Syntax:
inputData.replace(/(.)\1+/g, '$1');
Example: This example shows the use of the above-explained approach.
JavaScript
const eleminateSameConsecutiveCharacters =
(inputData) => {
return inputData.replace(
/(.)\1+/g,
"$1"
);
};
const testString = "Geeks For Geeks";
console.log(
eleminateSameConsecutiveCharacters(
testString
)
);
Using Array Methods
Using array methods to remove consecutive duplicate characters involves splitting the string into an array of characters, filtering out characters that are equal to their next character, then joining the filtered array back into a string.
Example: In this example we removes consecutive duplicate characters from a string by splitting it into an array, filtering out duplicates, and joining it back into a string.
JavaScript
function removeConsecutiveDuplicates(str) {
return str.split('').filter((char, index, arr) =>
char !== arr[index - 1]).join('');
}
console.log(removeConsecutiveDuplicates("aaabbbccc"));
Using Index Comparison
In this approach, we utilize an iterative loop and compare characters using their indices to identify consecutive duplicate characters. We iterate through the string and compare each character with the next character. If they are different, we append the current character to the output string. This approach does not rely on an additional data structure.
Example:
JavaScript
function removeConsecutiveDuplicates(inputData) {
let output = "";
for (let i = 0; i < inputData.length; i++) {
// If current character is not the same as next character
if (inputData[i] !== inputData[i + 1]) {
output += inputData[i];
}
}
return output;
}
const testString = "Geeks For Geeks";
console.log(removeConsecutiveDuplicates(testString));
Using Set Data Structure
In this approach, we leverage the Set data structure to keep track of the last seen characters in a way that allows us to easily identify and eliminate consecutive duplicates. This approach is particularly useful when dealing with large strings, as Set operations are generally faster due to their O(1) average time complexity for insertions and lookups.
Example: This example shows the use of the Set data structure to remove consecutive duplicate characters.
JavaScript
const eliminateConsecutiveDuplicatesUsingSet = (inputData) => {
let output = "";
let seenChars = new Set();
let lastChar = null;
for (const letter of inputData) {
if (letter !== lastChar) {
output += letter;
seenChars.add(letter);
lastChar = letter;
}
}
return output;
};
const testString = "Geeks For Geeks";
console.log(eliminateConsecutiveDuplicatesUsingSet(testString));
Using Stack Data Structure
In this approach, we utilize a stack to keep track of the characters. We iterate through the string, and for each character, we check if it is the same as the character at the top of the stack. If it is, we skip it; otherwise, we push it onto the stack. Finally, we join the stack into a string to get the desired output.
Example: This example shows the use of the stack data structure to remove consecutive duplicate characters from a string.
JavaScript
function removeConsecutiveDuplicatesUsingStack(inputData) {
let stack = [];
for (const char of inputData) {
if (stack.length === 0 || stack[stack.length - 1] !== char) {
stack.push(char);
}
}
return stack.join('');
}
const testString = "Geeks For Geeks";
console.log(removeConsecutiveDuplicatesUsingStack(testString));
Using Sliding Window Technique
Another approach to remove consecutive duplicate characters from a string is by using the sliding window technique. This method involves maintaining a window of characters and dynamically adjusting the window size as we iterate through the string. We compare the current character with the previous character and only add it to the result if it is different.
Example:
JavaScript
function removeConsecutiveDuplicates(s) {
let result = "";
let lastChar = "";
for (let i = 0; i < s.length; i++) {
let currentChar = s[i];
if (currentChar !== lastChar) {
result += currentChar;
lastChar = currentChar;
}
}
return result;
}
// Example usage:
const inputStr = 'aabbccdde';
const output = removeConsecutiveDuplicates(inputStr);
console.log(output); // Output should be "abcde"
Similar Reads
JavaScript Program to Print All Duplicate Characters in a String In this article, we will learn how to print all duplicate characters in a string in JavaScript. Given a string S, the task is to print all the duplicate characters with their occurrences in the given string. Example: Input: S = âgeeksforgeeksâOutput:e, count = 4g, count = 2k, count = 2s, count = 2Ta
5 min read
JavaScript Program to Check for Repeated Characters in a String Here are the different methods to check for repeated characters in a string using JavaScript1. Using a Frequency Counter (Object)A frequency counter is one of the most efficient ways to check for repeated characters in a string. This approach involves iterating over the string and counting how often
3 min read
JavaScript Program to Get a Non-Repeating Character From the Given String In JavaScript, we can find the non-repeating character from the input string by identifying the characters that occur only once in the string. There are several approaches in JavaScript to get a non-repeating character from the given string which are as follows: Table of Content Using indexOf and la
3 min read
JavaScript Program to Find Kâth Non-Repeating Character in String The K'th non-repeating character in a string is found by iterating through the string length and counting how many times each character has appeared. When any character is found that appears only once and it is the K'th unique character encountered, it is returned as the result. This operation helps
6 min read
How to remove duplicate characters from a String in Scala? In this article, we will learn how to remove duplicate characters from a string in Scala using different approaches. First, we will look through the Brute-Force Approach and then use different standard libraries. Examples: Input: String = "hello"Output: helo Input: String = "Geeks"Output: Geks Naive
4 min read
Program for removing i-th character from a string Given a string S along with an integer i. Then your task is to remove ith character from S. Examples: Input: S = Hello World!, i = 7Output: Hello orld!Explanation: The Xth character is W and after removing it S becomes Hello orld! Input: S = GFG, i = 1Output: GGExplanation: It can be verified that a
5 min read