generateHashtag

Codewars kata

by trentHarlem

JavaScript

const generateHashtag = (str) => str.length >= 140 || str === '' ? false : '#' + str.split(' ').map(capitalize).join('');

const capitalize = (str) => str.charAt(0).toUpperCase() + str.slice(1);


//----------

/* function generateHashtag(str) {
  str = str.split(' ').map(i => i.slice(0, 1).toUpperCase() + i.slice(1)).join('');
  return str.length < 1 || str.length >= 140 ? false : '#' + str;
} */

//------------
//const generateHashtag = str => (str.length==0 ||str.length>=140 )?false:'#'+str[0].toUpperCase()+str.slice(1).replace(/ /g,'')

/* const generateHashtag = str => str.replace(/(^\w{1})|(\s\w{1})/g, letter => letter.toUpperCase())
 */
 
 //------------------
/* function generateHashtag (str) {
  if(!str || str.length == 0 || (str.replace(/([^a-zA-Z\s])/g, "").length + 1) > 140)
    return false;

  var finalString = "";
  str = str.replace(/([^a-zA-Z\s])/g, "").trim().toLowerCase().split(" ");

  for(i in str)
    finalString += str[i].charAt(0).toUpperCase() + str[i].slice(1);

  return "#" + finalString;
} */



//===============

/* function generateHashtag(str) {
  if (str.length == 0 || str.length >= 140) {
    return false;
  } else {
const words = str.split(" ");

words.map((word) => { 
    return word[0].toUpperCase() + word.substring(1); 
}).join(" ");
  }
} */
//============
/* 
function generateHashtag(str) {
  if (str.length == 0 || str.length >= 140) {
    return false;
  } else return '#' + str[0].toUpperCase() + str.slice(1).replace(/ /g, '')
}
 */
//console.log(generateHashtag(""), false, "Expected an empty string to return false")

//console.log(generateHashtag(" ".repeat(200)), false, "Still an empty string")

//console.log(generateHashtag("Do We have A Hashtag"), "#DoWeHaveAHashtag", "Expected a Hashtag (#) at the beginning.")

//console.log(generateHashtag("Codewars"), "#Codewars", "Should handle a single word.")

//console.log(generateHashtag("Codewars Is Nice"), "#CodewarsIsNice", "Should remove...