我是在Javascript中使用正则表达式来全局替换网页上文本的Javascript noob。很简单。
v = v.replace(/\Simon\b/g, "JS Noob");
我知道我可以用函数代替,但是我不能使它起作用:
v = v.replace(/\bSimon\b/g, function(replaceLoop) {
var myStringArray = ["herp","derp","clueless","hurrrrr"];
var arrayLength = myStringArray.length;
for (var i = 0; i < arrayLength; i++){
replaceLoop = myStringArray;
return replaceLoop;
}
}
我觉得我在想这一切错。
最佳答案
快速语法错误导致出现问题,您错过了);
至.replace()
的结尾。另外,您正在设置replaceLoop = myStringArray
而不是特定的字符串。假设您想要一个随机索引,则需要Math.random()
。
v = v.replace(/\bSimon\b/g, function(replaceLoop) {
var myStringArray = ["herp","derp","clueless","hurrrrr"];
var arrayLength = myStringArray.length;
var index = Math.floor(Math.random() * arrayLength);
return myStringArray[index];
});