DEV Community

NJOKU SAMSON EBERE
NJOKU SAMSON EBERE

Posted on • Edited on

Algorithm 202: Falsy Bouncer in 4 Ways

A falsy bouncer algorithm is a step by step approach to removing all false or falsy values usually from an array. Falsy values includes: false, null, undefined, 0, NaN, and "".


falsyBouncer([undefined, 1, 0, 60000, null, NaN, '', "njoku Samson"])
// [ 1, 60000, 'njoku Samson' ]

Enter fullscreen mode Exit fullscreen mode

Do you think this is achievable? How can this be done?

Let me share 4 ways to bounce falsy values from an array.

Prerequisite

This article assumes that you have basic understanding of javascript's array methods.

Let's bounce falsy values from an array using:

  • for...of...loop, push()
      function falsyBouncer(array) {
        let sanitizedArray = [];

        for (element of array) {
          element ? sanitizedArray.push(element) : sanitizedArray;
        }

        return sanitizedArray;
      }
Enter fullscreen mode Exit fullscreen mode
  • forEach...loop, includes(), push()
      function falsyBouncer(array) {
        let falsyValues = [false, null, undefined, 0, NaN, ""];
        let sanitizedArray = [];

        array.forEach(element => {
          !falsyValues.includes(element)
            ? sanitizedArray.push(element)
            : sanitizedArray;
        });

        return sanitizedArray;
      }
Enter fullscreen mode Exit fullscreen mode
  • filter()
      function falsyBouncer(array) {
        let sanitizedArray = array.filter(element => Boolean(element));

        return sanitizedArray;
      }
Enter fullscreen mode Exit fullscreen mode
  • reduce()
      function falsyBouncer(array) {
        let sanitizedArray = [];

        sanitizedArray = array.reduce((acc, element) => {
          if (Boolean(element)) {
            return [...acc, element];
          } else {
            return acc;
          }
        }, []);

        return sanitizedArray;
      }
Enter fullscreen mode Exit fullscreen mode

Conclusion

There are many ways to solve problems programmatically. I will love to know other ways you solved yours in the comment section.

If you have questions, comments or suggestions, please drop them in the comment section.

Up Next: Algorithm 202: Where I Belong in 3 Ways

You can also follow and message me on social media platforms.

Twitter | LinkedIn | Github

Thank You For Your Time.

Top comments (2)

Collapse
 
zenulabidin profile image
Ali Sherief • Edited

I think that the third way of implementing a falsy bouncer is the easiest and shortest way. It doesn't get simpler than applying reduce with an arrow function.

Collapse
 
ebereplenty profile image
NJOKU SAMSON EBERE

Thank you Ali for taking your time to read through.

The idea was just to show different way to solving one problem but in no particular order.