DEV Community

Discussion on: Day 1: Who likes it? - A coding challenge with solutions

Collapse
 
icecoffee profile image
Atulit Anand

Thanks for making this post.
It's a nice idea to share question in this forum.

Here is my version. What do you guys think

function likes(names = ["No one"]) {
  if (names.length === 0) return "No one likes this";
  let result = [];
  for (let i = 0; i < names.length; i++) {
    const name = names[i];
    if (i === 2) result.push("and", name);
    else if (i === 3) {
      result.pop();
      result.push(`${names.length - 2} others`);
      break;
    } else result.push(name);
  }
  result.push("likes this");
  return result.join(" ");
}
console.log(likes(["Jack", "Jacob", "Jill", "John", "a", "b"]));
Enter fullscreen mode Exit fullscreen mode
Collapse
 
ubahthebuilder profile image
Kingsley Ubah

It's shorter!