2014-09-30 61 views

回答

25

Array.prototype.map是這樣的事情一個偉大的工具:

arr.map(function(el) { 
    return 'images/' + el; 
}) 
+0

增加:ES6語法將有助於使該由@Todd馬克下面提到單行 '讓ARR = arr.map(I =>「圖像/」 + i)' – keshavDulal 2018-01-19 07:47:26

7

使用Array.prototype.map()

var arr = arr.map(function (i){ 
    return 'images/' + i; 
}) 

更新:同樣的事情,但使用ES6語法

let arr = arr.map(i => 'images/' + i)

+0

贊成ES6語法。 – keshavDulal 2018-01-19 07:46:09

0

您可以使用jQuery庫

var newArr = jQuery.map(arr, function(n, i) { 
    return ("images/"+n); 
}); 
+0

誰對jQuery有什麼評論? – George 2014-09-30 08:21:54

+1

我非常喜歡jQuery版本比本地版本更長 - 而且速度更慢 – 2014-09-30 08:25:08

+2

本機版本在IE 8中不起作用。可以從不同方打開問題,本機方法已在其他答案中提出。 – kemenov 2014-09-30 08:27:52

2

你可以簡單地這樣做了簡單的循環:

var arr = ["1.jpg","2.jpg","some.jpg"], 
    newArr = []; 

for(var i = 0; i<arr.length; i++){ 
    newArr[i] = 'images/' + arr[i]; 
} 
4

對於瀏覽器的相容性和無環:

var pre = 'images/'; 
var arr = ['1.jpg', '2.jpg', 'some.jpg']; 
var newArr = (pre + arr.join(';' + pre)).split(';'); 
+0

好看又棘手:) – northtree 2017-08-30 07:31:25