Javascript用数组替换数组中的all

时间:2012-03-31 20:17:03

标签: javascript

我有一个包含.gif,.png等的数组。我想分别用@ 2.gif,@ 2.png等替换。

实施例

.gif -> @2.gif
.png -> @2.png

我尝试过做string.replace,但是我无法使用替换为。

来指定数组

任何帮助?

6 个答案:

答案 0 :(得分:1)

您可以使用正则表达式替换:

str = str.replace(/\.(gif|png)/gi, '@2.$1');

Here's a demo.此外,根据您要更换的内容,您可能不需要g标志(指定应替换模式的所有实例,而不是简单地找到第一个) 。)

答案 1 :(得分:0)

for (int i=0;i<MyArray.length;i++)
{
  MyArray[i]="@2"+MyArray[i];
}

答案 2 :(得分:0)

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

答案 3 :(得分:0)

为什么要更换字符串?只需迭代数组并映射值。

arrayOfImages = arrayOfImages.map(function(val, i) {
     return '@' + i + val;
});

http://jsfiddle.net/hWqEe/

答案 4 :(得分:0)

疯狂的替代方案:

var arr = ["gif", "png", "jpg"];

arr = ("@2" + arr.join("*@2.")).split("*");

注意:只要确保你在数组的任何项目中使用任何*个字符,如果你想使用它,只需使用另一个不太可能的字符

答案 5 :(得分:-1)

只需使用+

喜欢例如

VAR = '2' + VAR

如果你想成为所有元素,请把它放在循环中。