Javascript 使用array.join()时包含数组索引

Javascript 使用array.join()时包含数组索引,javascript,Javascript,我试图在将数组转换为字符串时添加数组元素的索引。这是我的密码 var arr = ["a", "b", "c", "d", "e"]; console.log(arr.join('')); // Will log "abcdef" 但我需要的输出是a0b1c2d3e4 如果我像下面这样写,我会得到结果 var str = ""; for(var i = 0, l = arr.length; i++){ str += (arr[i] + i); } console.log(str);

我试图在将数组转换为字符串时添加数组元素的索引。这是我的密码

var arr = ["a", "b", "c", "d", "e"];
console.log(arr.join('')); // Will log "abcdef"
但我需要的输出是
a0b1c2d3e4

如果我像下面这样写,我会得到结果

var str = "";
for(var i = 0, l = arr.length; i++){
    str += (arr[i] + i);
}
console.log(str);

但是我想知道
Array.join()

是否有任何技巧,您可以使用
Array.prototype.map
进行此操作,请参见此处:


您可以使用
Array.prototype.map
,请参见此处:


Array.join()只接受分隔符。单靠使用join()数组是无法实现的。join()只使用分隔符。仅仅使用join()是无法实现的,我只是想知道使用for循环和map有什么区别。使用Map,它将修改原始数组。如果I
slice
it,它将创建数组的另一个副本。它看起来像一个双重进程。这是不正确的,
map
不会修改
arr
,它将返回修改后的版本。不同之处在于它是功能性的,而不是强制性的。这是品味的问题,真的。用你喜欢的。如果你是这样要求的,你就不能用一些神奇的参数来加入。“但我的解决方案不会做任何不必要的事情。”伯克·奇尔·巴迪。您的回答是正确的,并为我寻找的问题提供了解决方案:)我只是想知道使用for循环和map有什么区别。使用Map,它将修改原始数组。如果I
slice
it,它将创建数组的另一个副本。它看起来像一个双重进程。这是不正确的,
map
不会修改
arr
,它将返回修改后的版本。不同之处在于它是功能性的,而不是强制性的。这是品味的问题,真的。用你喜欢的。如果你是这样要求的,你就不能用一些神奇的参数来加入。“但我的解决方案不会做任何不必要的事情。”伯克·奇尔·巴迪。您的回答是恰当的,并为我所寻找的问题提供了解决方案:)
arr.map(function(val, index) { return val + index.toString(); }).join("");