Javascript替换数组中元素的字符

sou*_*aid 0 javascript arrays

我试图替换字符串数组中的字符.

到目前为止我有这个:

stuff= ["uyuuyu", "76gyuhj***", "uiyghj", "56tyg", "juijjujh***"];

for(var i = 0; i < stuff.length; i++)
{
    if(stuff[i].indexOf('***') != -1)
    {
        // this is where i guess the replacing would go
    }
}
Run Code Online (Sandbox Code Playgroud)

我发现我可以使用此代码显示数组中的元素有字符***现在想要***用数字替换字符,以便它输出一个新的数组(相同的数组但修改),如下所示:

  stuff= ["uyuuyu", "76gyuhj0", "uiyghj", "56tyg", "juijjujh0"];
Run Code Online (Sandbox Code Playgroud)

我似乎无法弄清楚如何替换该数组中的字符而不影响数组的其余部分

use*_*559 7

还要考虑.replace(/\*\*\*/g, '0')是否要替换多次出现***.(以下代码仅替换每个字符串中的第一个匹配项.)

stuff= ["uyuuyu", "76gyuhj***", "uiyghj", "56tyg", "juijjujh***"];

for(var i = 0; i < stuff.length; i++)
{
    stuff[i] = stuff[i].replace('***', '0');
}

console.log(stuff);
Run Code Online (Sandbox Code Playgroud)

请注意,无需检查indexOf.如果子字符串不存在,replace则不会更改任何内容,因此您只需应用于replace每个字符串.


Shu*_*gar 5

您可以map如下使用javascript

 var newStuff =stuff.map(function(item,index){
  return item.replace('***','0')

});

console.log(newStuff) //["uyuuyu", "76gyuhj0", "uiyghj", "56tyg", "juijjujh0"]
Run Code Online (Sandbox Code Playgroud)

带有箭头功能的es2015(es6)

var newStuff = stuff.map(item => item.replace('***','0'));
Run Code Online (Sandbox Code Playgroud)