2010-11-24 57 views
0

我有一個動態產生的陣列:的Javascript附加到陣列的元件在特定的索引

myArr = ["val0a", "val1a", "val2a"... "val600a"] 

我有問題追加一個新的數組值來此陣列中的循環。我的陣列應該看起來像這樣追加後:

myArr = ["val0a", "val1a val1b", "val2a val2b"... "val600a"] 

請注意,新陣列和舊陣列長度不一樣。

我該怎麼做?它必須是簡單的東西,但我無法弄清楚。

+0

我很困惑 - 要追加到數組(根據您的問題的標題),或追加到一個元素*在*的數組,每個您的示例 – Matt 2010-11-24 16:51:51

+0

追加到數組中的一個元素。我可能需要修復我的標題 – Mircea 2010-11-24 16:52:53

回答

6

你可以寫沿此線的函數:

Array.prototype.appendStringToElementAtIndex = function(index, str) { 
    if(typeof this[index] === 'undefined' || typeof this[index] !== 'string') return false; 
    this[index] += ' ' + str; 
}; 


myArr = ["val0a", "val1a", "val2a"]; 
myArr.appendStringToElementAtIndex(1, "val1b"); 

console.log(myArr.join(', ')); //val0a, val1a val1b, val2a 
+0

Thanx Jacob,它的工作原理! – Mircea 2010-11-24 17:15:41

0
myArr.push(myArr[myArr.length - 1].split(" ").push("val42").join(" ")); // even 
-1

要連接到這是一個字符串的元素:

myArr[2] = myArr[2] += 'blah'; 

要重新它:

myArr[2] = 'foo'; 
0

將值附加到N排列你可以這樣做:

myArr = ["val0a", "val1a", "val2a"... "val600a"]; 
indexToAppendTo = 2; 
val2 = "val2b" 
myArr[ indexToAppendTo ] += (" " + val2) ;