我想要添加一些前缀的数组值:
var arr = ["1.jpg","2.jpg","some.jpg"];
添加前缀images/
应该会导致:
newArr = ["images/1.jpg","images/2.jpg","images/some.jpg"];
答案 0 :(得分:32)
Array.prototype.map
是处理此类事情的绝佳工具:
arr.map(function(el) {
return 'images/' + el;
})
答案 1 :(得分:13)
var arr = arr.map(function (i){
return 'images/' + i;
})
更新:使用ES6语法
同样如此 let arr = arr.map(i => 'images/' + i )
答案 2 :(得分:5)
对于浏览器兼容性和无循环:
var pre = 'images/';
var arr = ['1.jpg', '2.jpg', 'some.jpg'];
var newArr = (pre + arr.join(';' + pre)).split(';');
答案 3 :(得分:2)
您只需使用一个简单的循环即可完成此操作:
var arr = ["1.jpg","2.jpg","some.jpg"],
newArr = [];
for(var i = 0; i<arr.length; i++){
newArr[i] = 'images/' + arr[i];
}
答案 4 :(得分:0)
您可以使用Jquery库
var newArr = jQuery.map( arr, function( n, i ) {
return ( "images/"+n );
});