Neat way to handle array and individual inputs in same function

itsjzt

Saurabh Sharma

Posted on August 31, 2020

Neat way to handle array and individual inputs in same function

Lets say we need to make a function doSomething. we need to do it in a way so that it can handle both arguments: (1) a string and (2) an array of strings.

To achieve that previously I used to do something like this:

function doSomething(strs) {
  function _doSomething(str) {
    // some mysterious stuff happening here
    console.log(str)
  }

  if (Array.isArray(strs)) {
      return strs.map(str => _doSomething(str))
  } else {
      return _doSomething(strs)
  }
}

doSomething(["hello", "world"])
doSomething("hello")
Enter fullscreen mode Exit fullscreen mode

now since I learned recursion I do this:

function doSomething(strs) {
  if (Array.isArray(strs)) {
      return strs.map(str => doSomething(str))
  } else {
      console.log(strs);
  }
}

doSomething(["hello", "world"])
doSomething("hello")
Enter fullscreen mode Exit fullscreen mode

cover Photo by pepe nero on Unsplash

πŸ’– πŸ’ͺ πŸ™… 🚩
itsjzt
Saurabh Sharma

Posted on August 31, 2020

Join Our Newsletter. No Spam, Only the good stuff.

Sign up to receive the latest update from our blog.

Related