2013-09-01 48 views
0

我想在將數組轉換爲字符串時添加數組元素的索引。這裏是我的代碼使用Array.join時包含數組索引()

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()

+0

Array.join()只需要一個分隔符。你不能單獨通過使用join() – zsong

回答

3

可以使用Array.prototype.map它,在這裏看到:https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/map

arr.map(function(val, index) { return val + index.toString(); }).join(""); 
+0

我只是想知道使用for循環和map有什麼區別。使用地圖它將修改原始數組。如果我「切片」它,它創建了另一個數組的副本。它看起來像一個雙重過程。 – Exception

+0

這是不正確的,'map'不會修改'arr',它會返回修改後的版本。不同之處在於它的功能性與必要性。這是一個品味問題,真的。使用你喜歡的。如果這是你所要求的,那麼你不能用'join'這個神奇的參數來做。但我的解決方案不會做任何不必要的事情。 –

+0

@Burk寒意哥們。你的答案是適當的,併爲我正在尋找的東西提供解決方案:) – Exception