Jquery:用数组中的值替换字符串

Ben*_*ett 8 javascript arrays jquery replace

说我有这样的事情:

var array = [cat,dog,fish];
var string = 'The cat and dog ate the fish.';
Run Code Online (Sandbox Code Playgroud)

我想从字符串中清除所有这些值

var result = string.replace(array,"");
Run Code Online (Sandbox Code Playgroud)

结果将最终成为: The and ate the .

现在,replace()似乎只是从数组中替换一个值.我怎样才能使字符串中的所有/多个值被替换?

谢谢!

jAn*_*ndy 10

您可以创建自定义正则表达式,也可以循环遍历字符串并手动替换.

array.forEach(function( word ) {
    string = string.replace( new RegExp( word, 'g' ), '' );
});
Run Code Online (Sandbox Code Playgroud)

要么

var regexp = new RegExp( array.join( '|' ), 'g' );

string = string.replace( regexp, '' );
Run Code Online (Sandbox Code Playgroud)