2010-11-24 6 views
0

J'ai un tableau généré dynamiquement:Javascript ajouter un élément à tableau à l'index spécifique

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

Je rencontre des problèmes ajout d'une nouvelle valeurs de tableau à ce tableau dans une boucle. Mon tableau devrait ressembler à ceci après la append:

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

S'il vous plaît noter que le nouveau tableau et l'ancien ne sont pas la même longueur.

Comment est-ce que je peux faire ceci? Ça doit être quelque chose de simple mais je ne peux pas le comprendre.

+0

Je suis confus - vous voulez ajouter au tableau (par titre de votre question), ou d'y ajouter un élément * dans * le tableau, par votre exemple – Matt

+0

append à un élément dans le tableau. J'ai probablement besoin de réparer mon titre – Mircea

Répondre

6

Vous pouvez écrire une fonction le long des lignes de celle-ci:

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, ça marche! – Mircea

+0

@Mircea, de rien! :) –

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

concaténer à un élément qui est une chaîne:

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

Pour réassigner:

myArr[2] = 'foo'; 
+0

* confus à propos de downvote * –

0

pour ajouter une valeur à un élément d'un n tableau que vous pouvez simplement faire ceci:

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