2014-09-30 2 views

ответ

25

Array.prototype.map является отличным инструментом для такого рода вещей:

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

Дополнение синтаксиса ES6 поможет сделать что один вкладыш, как указано ниже, @Todd Марка 'пусть обр = arr.map (я =>«изображения /» + i) ' – keshavDulal

7

Использование Array.prototype.map()

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

Update: То же самое, но с использованием ES6 синтаксиса

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

+0

Thumbs up для ES6 Синтаксис. – keshavDulal

0

Вы можете использовать Jquery библиотека

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

Кто сказал что-нибудь о jQuery? – George

+1

Мне нравится, как версия jQuery больше, чем родная версия - и медленнее –

+2

Собственная версия не работает в IE 8. Вопрос может быть открыт с разных сторон, в других ответах был предложен собственный подход. – kemenov

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

Смежные вопросы