簡體   English   中英

Javascript替換數組中元素的字符

[英]Javascript replace characters of an element in an array

我正在嘗試替換字符串數組中的字符。

到目前為止,我有這個:

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
    }
}

我發現我可以使用此代碼來顯示數組中元素為***的元素,現在想用數字替換***字符,以便它輸出看起來像的新數組(相同的數組但已修改)喜歡 :

  stuff= ["uyuuyu", "76gyuhj0", "uiyghj", "56tyg", "juijjujh0"];

我似乎無法弄清楚如何在不影響數組其余部分的情況下替換該數組中的字符

如果要替換多次出現的*** .replace(/\\*\\*\\*/g, '0')也請考慮.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); 

請注意,無需檢查indexOf 如果子字符串不存在,則replace不會改變任何內容,因此您可以將replace應用於每個字符串。

您可以如下使用javascript map

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

});

console.log(newStuff) //["uyuuyu", "76gyuhj0", "uiyghj", "56tyg", "juijjujh0"]

帶有箭頭功能的es2015(es6)

var newStuff = stuff.map(item => item.replace('***','0'));
var stuff= ["uyuuyu", "76gyuhj***", "uiyghj", "56tyg", "juijjujh***"];

for(var i = 0; i < stuff.length; i++)
{
    if(stuff[i].indexOf('***') != -1)
{
        stuff[i] = stuff[i].replace('***','0')
    // this is where i guess the replacing would go
}
console.log(stuff[i]);
}

這很簡單。 使用替換功能修改字符串

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

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM