How to use reduce In Javascript

In this approach, we use reduce to iterate through the array, accumulate non-empty strings in one array, and collect removed elements in another array.

Example: The below code example uses reduce to remove empty strings from array

JavaScript
function removeEmptyStrings(arr) {
    return arr
        .reduce((acc, val) => {
            if (val !== '') {
                acc.cleanedArray.push(val);
            } else {
                acc.removedElements.push(val);
            }
            return acc;
        }, { cleanedArray: [], removedElements: [] });
}

let inputArray = ["hello", "", "world", "", "!", " "];
let result = removeEmptyStrings(inputArray);

console.log("Cleaned Array:", result.cleanedArray);
console.log("Removed Elements:", result.removedElements);

Output
Cleaned Array: [ 'hello', 'world', '!', ' ' ]
Removed Elements: [ '', '' ]

Time complexity: O(n)

Auxiliary Space: O(n)

JavaScript Program to Remove Empty Strings from Array Without Loop

Given an array with values and empty strings, our task is to remove empty strings from an array while keeping a record of the removed elements without using explicit loops.

Example:

Input: Array = ["hello", "", "world", "", "!", " "];
Output: Cleaned Array: [ 'hello', 'world', '!', ' ' ] Removed Elements: [ '', '' ]

Below are the approaches to remove empty strings from the array while keeping a record Without Loop in JavaScript:

Table of Content

  • Using reduce
  • Using filter
  • Using flatMap

Similar Reads

Using reduce

In this approach, we use reduce to iterate through the array, accumulate non-empty strings in one array, and collect removed elements in another array....

Using filter

In this approach we use filter to create a cleaned array of non-empty strings and another filter to create an array of empty strings....

Using flatMap

In this approach, we use flatMap to create a combined operation of filtering and mapping, where we can conditionally return values or empty arrays, effectively achieving the desired result....