Skip to content

Instantly share code, notes, and snippets.

@ivancp
Created May 19, 2020 18:20
Show Gist options
  • Save ivancp/e9065101ef1da83a27cb86d676a67ae2 to your computer and use it in GitHub Desktop.
Save ivancp/e9065101ef1da83a27cb86d676a67ae2 to your computer and use it in GitHub Desktop.
String.prototype.rotate from @js_tut challenge
/* https://twitter.com/js_tut/status/1262754711502942213 */
String.prototype.rotate = function(shiftVal){
var str = this.toLowerCase();
var newPos = shiftVal > 0 ? (str.length - (shiftVal % str.length)):(Math.abs(shiftVal) % str.length);
if(newPos == str.length)
return str.charAt(0).toUpperCase() + (str.length > 1 ? str.substring(1,str.length):'');
return str.charAt(newPos).toUpperCase() + str.substring(newPos+1,str.length) + str.substring(0,newPos);
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment