Skip to content

Instantly share code, notes, and snippets.

@acuppy
Last active December 20, 2015 01:09
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save acuppy/6047486 to your computer and use it in GitHub Desktop.
Save acuppy/6047486 to your computer and use it in GitHub Desktop.
String#arrayReplace: similar to String#replace, but allows you to pass multiple array sets for replacement.
String.prototype.arrayReplace = (args...) ->
rtn = @
for set in args
rtn = rtn.replace(new RegExp(set[0], 'gi'), set[1])
rtn
/*
Replace characters matching the first element of an array with the second element
"mississippi".arrayReplace(['i','n'], ['p','m']) => "mnssnssnmmn"
@params Array
@return String
*/
String.prototype.arrayReplace = function() {
var args, rtn, set, _i, _len;
args = 1 <= arguments.length ? Array.prototype.slice.call(arguments, 0) : [];
rtn = this;
for (_i = 0, _len = args.length; _i < _len; _i++) {
set = args[_i];
rtn = rtn.replace(new RegExp(set[0], 'gi'), set[1]);
}
return rtn;
};
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment