Skip to content

Instantly share code, notes, and snippets.

@adamwdraper
Created May 13, 2016 22:46
Show Gist options
  • Save adamwdraper/ed762d03d0cd342b052631dfcd9f8b55 to your computer and use it in GitHub Desktop.
Save adamwdraper/ed762d03d0cd342b052631dfcd9f8b55 to your computer and use it in GitHub Desktop.
String replace by map
var expandEntityResult = function(data, map) {
var replacer = function(match, p1, offset, value) {
return map[p1];
};
var replace = function(value) {
var keys = Object.keys(map).join('|');
var regexp = new RegExp('^(' + keys + ')\:');
return value.replace(regexp, replacer);
};
var traverse = function(o, func) {
for (var i in o) {
if (o[i] !== null) {
if (typeof(o[i]) === 'object') {
traverse(o[i], func);
} else if (typeof(o[i]) === 'string') {
o[i] = func(o[i]);
}
}
}
};
traverse(data, replace);
return data;
};
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment