说我有一个字符串数组。我想在每个字符串前面加上一个固定的(通用)字符串。我知道在Javascript中,字符串可以像strM = str1 + str2 + str3 + ... + strNstrM = concat(str1, str2, str3, ..., strN)那样串联。考虑这段代码。

var defImgDirPath = 'res/img/';
$([
  'home-icon-dark.png',
  'home-icon-light.png'
]).each(function() {
  /*
   * Prepend each string with defImgDirPath
   */
});


现在我不能做this = defImgDirPath + this;(我很愚蠢地尝试了)

另外,我尝试了return (defImgDirPath + this);,但这也不起作用。

我正在考虑类似this.prependString(defImgDirPath);的函数,但是是否存在这样的函数?如果没有,我该怎么写?

注意:我知道也可以很容易地通过for循环完成此操作,但是这样做有什么乐趣呢? :)

最佳答案

var defImgDirPath = 'res/img/';
var images = [
    'home-icon-dark.png',
    'home-icon-light.png'
];
$(images).each(function(idx, val) {
  images[idx] = defImgDirPath + val;
});

console.log(images);

09-27 05:00