我有一個與.gif,.png等在其中的數組。我想分別用@ 2.gif,@ 2.png等替換。Javascript替換陣列中的所有數組
例
.gif -> @2.gif
.png -> @2.png
我想這樣做與string.replace,但我不能特定一個與替換陣列。
任何幫助?
我有一個與.gif,.png等在其中的數組。我想分別用@ 2.gif,@ 2.png等替換。Javascript替換陣列中的所有數組
例
.gif -> @2.gif
.png -> @2.png
我想這樣做與string.replace,但我不能特定一個與替換陣列。
任何幫助?
可以替換使用正則表達式:
str = str.replace(/\.(gif|png)/gi, '@2.$1');
Here's a demo.此外,根據您要更換什麼,你可能不需要g
標誌(指定該模式的所有實例應及時更換,而不是簡單地找到的第一個。)
只需使用+
像如
var ='@ 2'+ var
如果您想要將所有元素應用於此循環。
for (int i=0;i<MyArray.length;i++)
{
MyArray[i]="@2"+MyArray[i];
}
var arr = [
'.gif',
'.png'
];
for (var i = 0; i < arr.length; i++) {
arr[i] = '@2' + arr[i];
alert(arr[i]);
}
// @2.gif and @2.png are printed out
爲什麼字符串替換?只需迭代數組並映射值即可。
arrayOfImages = arrayOfImages.map(function(val, i) {
return '@' + i + val;
});
瘋狂的另類:
var arr = ["gif", "png", "jpg"];
arr = ("@2" + arr.join("*@2.")).split("*");
注:只要確保你使用在陣列中的任何項目內部的任何*
字符,如果你想用它,只是使用另一個不可能的字符
你需要一些數組喬一般來說要做這項工作。 – 2012-03-31 20:22:30
@NiklasB:怎麼這樣? (請參閱演示。) – Ryan 2012-03-31 20:22:55
擴展存儲在一個數組中,因此您應該在其上映射一個正則表達式轉義函數並使用'|'進行連接。 – 2012-03-31 20:23:49