해쉬태그 만들기 본문

code/Daily Side Project

해쉬태그 만들기

남우p 2021. 8. 16. 22:18

 

Question : 

해쉬태그 만들기

조건 1 : 공백은 제거한다

조건 2 : 앞뒤 공백이 있는 단어의 첫번째 글자는 대문자로 한다.

조건 3 : 맨 앞에 '#'이 붙는다.

조건 4 : 140 글자 이상은 false를 반환한다.

조건 5 : 공백으로 이루어져 있어도 false를 반환한다.


Answer :

function generateHashtag (str) {
  if(str.trim().length){
    var b = '#';
    var a = str.replace(/\s/gi,' ').split(' ').forEach(function(x){
      for(var i = 0;i < x.length;i++){
        b += i === 0 ? x[i].toUpperCase() : x[i]
      }
    });
    return b.length > 140 ? false : b;
  } else {
    return false;
  }
}

 

※ AnotherAnswer는 다른 유저가 작성한 답입니다.

AnotherAnswer1 : 

function generateHashtag(str) {
  var hashed = '#' + str.split(' ').map(function(v) {return v.charAt(0).toUpperCase() + v.slice(1);}).join('');
  return hashed.length > 140 || str == "" ? false : hashed;
}

AnotherAnswer2 : 

function generateHashtag (str) {
  var hashtag = str.split(' ').reduce(function(tag, word) {
    return tag + word.charAt(0).toUpperCase() + word.substring(1);
  }, '#');
  
  return hashtag.length == 1 || hashtag.length > 140 ? false : hashtag;
}

 

AnotherAnswer3 : 

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

function capitalize(str) {
  return str.charAt(0).toUpperCase() + str.slice(1);
}

 

 

Comments