-
Notifications
You must be signed in to change notification settings - Fork 0
/
2023-08-15.js
20 lines (16 loc) · 1.04 KB
/
2023-08-15.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
// https://www.codewars.com/kata/52449b062fb80683ec000024/train/javascript
function generateHashtag( str ) {
const strArr = str.split( ' ' );
if ( strArr.every( ( word ) => !word ) ) return false;
const hashtag = '#' + strArr
.map( ( word ) => word ? word[0].toUpperCase() + word.slice( 1 ) : null )
.join( '' );
return hashtag.length > 140 ? false : hashtag;
}
console.log( generateHashtag( 'Codewars Is Nice' ) ); // :>> #CodewarsIsNice
console.log( generateHashtag( 'Codewars is nice' ) ); // :>> #CodewarsIsNice
console.log( generateHashtag( '' ) );
console.log( generateHashtag( ' ' ) );
console.log( generateHashtag( 'code' + ' '.repeat( 140 ) + 'wars' ) );
console.log( generateHashtag( 'aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa' ) );
console.log( generateHashtag( ' a bb ccc dddd eeeee ffffff ggggggg hhhhhhhh iiiiiiiii jjjjjjjjjj kkkkkkkkkkk llllllllllll mmmmmmmmmmmmm nnnnnnnnnnnnnn ooooooooooooooo pppppppppppppppp qqq' ) );