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
JavaScript Program to Find Missing Characters to Make a String Pangram
We have given an input string and we need to find all the characters that are missing from the input string. We have to print all the output in the alphabetic order using JavaScript language. Below we have added the examples for better understanding. Examples: Input : welcome to geeksforgeeksOutput
6 min read
JavaScript Program to Find Uncommon Characters of the two Strings
In JavaScript, finding uncommon characters in two strings is the process of identifying the characters that exist in one string but not in the other string. We can find these uncommon characters using various approaches that are mentioned below: Table of Content Using SetsUsing Array.filter() method
2 min read
JavaScript Program to Find the First Repeated Word in String
Given a string, our task is to find the 1st repeated word in a string. Examples: Input: âRavi had been saying that he had been thereâOutput: hadInput: âRavi had been saying thatâOutput: No RepetitionBelow are the approaches to Finding the first repeated word in a string: Table of Content Using SetUs
4 min read
JavaScript Program Count number of Equal Pairs in a String
In this article, we are going to learn how can we count a number of equal pairs in a string. Counting equal pairs in a string involves finding and counting pairs of consecutive characters that are the same. This task can be useful in various applications, including pattern recognition and data analy
3 min read
JavaScript Program to find Lexicographically next String
In this article, we are going to learn how can we find the Lexicographically next string. Lexicographically next string refers to finding the string that follows a given string in a dictionary or alphabetical order.Examples: Input : testOutput : tesuExplanation : The last character 't' is changed to
3 min read
JavaScript Program for Printing Shortest Common Supersequence
A Shortest Common Supersequence (SCS) is the shortest or smallest string that contains two given strings as a subsequence. It is a minimal combination of characters that includes all elements of both input strings. In this article, we will see different approaches for printing the shortest common su
8 min read