Utilisez la Array.prototype.push
méthode pour ajouter des valeurs à un tableau:
// initialize array
var arr = [
"Hi",
"Hello",
"Bonjour"
];
// append new value to the array
arr.push("Hola");
console.log(arr);
Vous pouvez utiliser la push()
fonction pour ajouter plusieurs valeurs à un tableau en un seul appel:
// initialize array
var arr = ["Hi", "Hello", "Bonjour", "Hola"];
// append multiple values to the array
arr.push("Salut", "Hey");
// display all values
for (var i = 0; i < arr.length; i++) {
console.log(arr[i]);
}
Mise à jour
Si vous souhaitez ajouter les éléments d'un tableau à un autre tableau, vous pouvez utiliser firstArray.concat(secondArray)
:
var arr = [
"apple",
"banana",
"cherry"
];
arr = arr.concat([
"dragonfruit",
"elderberry",
"fig"
]);
console.log(arr);
Mise à jour
Juste un ajout à cette réponse si vous souhaitez ajouter une valeur au début d'un tableau qui signifie au premier index, vous pouvez l'utiliser Array.prototype.unshift
à cette fin.
var arr = [1, 2, 3];
arr.unshift(0);
console.log(arr);
Il prend également en charge l'ajout de plusieurs valeurs à la fois, tout comme push
.
for
du tout (utiliser.forEach
).length
propriété. L'interprète fait un travail incroyable à cela et cela ne fera aucune différence dans The Real World, que vous l'optimisiez ou non. Si votre tableau devient si énorme que l'optimisation.length
aiderait réellement, un tableau n'est probablement plus la bonne structure de données. L'utilisationforEach
a ses avantages, mais il est très douteux que des performances accrues en soient un, car l'appel de fonction pour chaque itération entraîne un coût et n'économise rien.length
propriété d'un tableau n'est pas calculée à chaque appel, c'est une variable stockée dans l'array
objet, qui n'est mise à jour que lorsque vous modifiez le tableau. Il n'y a donc en fait aucun coût de performance à inclurearr.length
dans lafor
condition.forEach
des fonctions de rappel (certaines d'entre elles le font probablement déjà) et il n'y aura pas de différence dans le code machine généré, si la fonction est appelée assez souvent pour être compilée au lieu d'être interprétée par le runtime. Le même conseil vaut pour tout langage qui n'est pas assembleur, en fait.Si vous ajoutez seulement une seule variable, cela
push()
fonctionne très bien. Si vous devez ajouter un autre tableau, utilisezconcat()
:Le concat n'affecte pas
ar1
etar2
sauf réattribution, par exemple:Beaucoup de bonnes informations ici .
la source
How do I append to an array in JavaScript?
, mais crée enconcat
fait un nouveau tableau. C'est une différence importante! Au lieu de cela, je dirais que la réponse ci-dessous d'Omnimike est en fait la meilleure: Utilisez Push.apply pour pousser un tableau entier vers un tableau existant sans en créer un nouveau.ar1 = ar1.concat(ar2);
s'ajoutera àar1
ar1
, d'ajouterar2
puis de renvoyer le nouveau tableau. Oubliez simplement la partie affectation (ar1 = ...
) de cette ligne de code et vous verrez que l' originalar1
n'a en fait pas changé. Si vous voulez éviter de faire une copie, vous en aurez besoinpush
. Ne me croyez pas, croyez les docs : "La méthode concat () retourne un nouveau tableau" Première phrase dans les docs pourconcat
.ar2
est de toute façon ci-dessus. Le résultat de.push
dans le scénario sera= [ar1, [ar2]]
. .concat résout ce problème, mais en sacrifiant la vitesse et en créant un nouveau tableau. Pour l'utiliser.push
correctement dans les ajouts de tableaux, commencez par boucler l'élément contenu et poussez chacun.ar2.forEach(each => { ar1.push(each); });
Une analyse comparative rapide (chaque test = 500 000 éléments ajoutés et les résultats sont des moyennes de plusieurs exécutions) a montré ce qui suit:
Firefox 3.6 (Mac):
arr[arr.length] = b
est plus rapide (300 ms contre 800 ms)arr.push(b)
est plus rapide (500 ms contre 900 ms)Safari 5.0 (Mac):
arr[arr.length] = b
est plus rapide (90 ms contre 115 ms)arr[arr.length] = b
est plus rapide (160 ms contre 185 ms)Google Chrome 6.0 (Mac):
J'aime
arr.push()
mieux la syntaxe, mais je pense que je serais mieux avec laarr[arr.length]
version, au moins en vitesse brute. J'adorerais voir les résultats d'une exécution IE cependant.Mes boucles de benchmarking:
la source
Je pense qu'il vaut la peine de mentionner que push peut être appelé avec plusieurs arguments, qui seront ajoutés au tableau dans l'ordre. Par exemple:
Par conséquent, vous pouvez utiliser push.apply pour ajouter un tableau à un autre tableau comme ceci:
ES5 annoté a plus d'informations sur ce que font exactement push and apply .
Mise à jour 2016: avec spread , vous n'en avez plus besoin
apply
, comme:la source
Array.prototype.push.apply()
cependant l' utiliser .Vous pouvez utiliser
push
etapply
fonctionner pour ajouter deux tableaux.Il s'ajoutera
array2
àarray1
.array1
Contient maintenant[11, 32, 75, 99, 67, 34]
. Ce code est beaucoup plus simple que d'écrire desfor
boucles pour copier chaque élément du tableau.la source
...
opérateur au lieu d'appliquerconst a1 = [] const a2 = [5,6,7] const.push(...a2)
edit: coloration syntaxiquearray1.concat(array2)
dans cette situation. L'appel àpush
semble inutile.Avec le nouvel opérateur de diffusion ES6 , il
push
est encore plus facile de joindre deux baies en utilisant :Cela ajoute le contenu de
arr2
à la fin dearr
.Exemple Babel REPL
la source
Si
arr
est un tableau etval
est la valeur que vous souhaitez ajouter, utilisez:Par exemple
la source
Utilisation
concat
:la source
Javascript avec ECMAScript 5 standard qui est pris en charge par la plupart des navigateurs maintenant, vous pouvez utiliser
apply()
pour ajouterarray1
àarray2
.Javascript avec la norme ECMAScript 6 qui est pris en charge par Chrome et FF et IE Edge, vous pouvez utiliser l'
spread
opérateur:L'
spread
opérateur remplaceraarray2.push(...array1);
pararray2.push(3, 4, 5);
lorsque le navigateur réfléchit à la logique.Point bonus
Si vous souhaitez créer une autre variable pour stocker tous les éléments des deux tableaux, vous pouvez le faire:
ES5
var combinedArray = array1.concat(array2);
ES6
const combinedArray = [...array1, ...array2]
L'opérateur d'étalement (
...
) doit étaler tous les éléments d'une collection.la source
Si vous souhaitez ajouter deux tableaux -
alors vous pouvez utiliser:
Et si vous voulez ajouter un enregistrement
g
à array (var a=[]
), vous pouvez utiliser:la source
La
push()
méthode ajoute de nouveaux éléments à la fin d'un tableau et renvoie la nouvelle longueur. Exemple:La réponse exacte à votre question est déjà répondue, mais examinons d'autres façons d'ajouter des éléments à un tableau.
La
unshift()
méthode ajoute de nouveaux éléments au début d'un tableau et renvoie la nouvelle longueur. Exemple:Et enfin, la
concat()
méthode est utilisée pour joindre deux ou plusieurs tableaux. Exemple:la source
Il existe deux façons d'ajouter un tableau en JavaScript:
1) La
push()
méthode ajoute un ou plusieurs éléments à la fin d'un tableau et renvoie la nouvelle longueur du tableau.Production:
2) La
unshift()
méthode ajoute un ou plusieurs éléments au début d'un tableau et renvoie la nouvelle longueur du tableau:Production:
3) La
concat()
méthode est utilisée pour fusionner deux tableaux ou plus. Cette méthode ne modifie pas les tableaux existants, mais renvoie à la place un nouveau tableau.Production:
4) Vous pouvez utiliser la
.length
propriété du tableau pour ajouter un élément à la fin du tableau:Production:
5) La
splice()
méthode modifie le contenu d'un tableau en supprimant les éléments existants et / ou en ajoutant de nouveaux éléments:Production:
6) Vous pouvez également ajouter un nouvel élément à un tableau simplement en spécifiant un nouvel index et en attribuant une valeur:
Production:
la source
push
fait: il modifie le tableau d'origine en y poussant de nouveaux éléments. Suis-je en train de mal lire, ou faut-il le modifier?Maintenant, vous pouvez profiter de la syntaxe ES6 et faire simplement:
garder immuable le tableau d'origine.
la source
Si vous connaissez l'indice le plus élevé (tel que stocké dans une variable "i"), vous pouvez le faire
Cependant, si vous ne savez pas, vous pouvez soit utiliser
comme d'autres réponses le suggèrent, ou vous pouvez utiliser
Notez que le tableau est basé sur zéro, donc .length renvoie l'index le plus élevé plus un.
Notez également que vous n'avez pas à ajouter dans l'ordre et que vous pouvez en fait ignorer les valeurs, comme dans
Dans ce cas, les valeurs intermédiaires auront une valeur indéfinie.
C'est donc une bonne pratique lorsque vous parcourez un JavaScript pour vérifier qu'une valeur existe réellement à ce point.
Cela peut être fait par quelque chose comme ceci:
si vous êtes certain de ne pas avoir de zéros dans le tableau, vous pouvez simplement faire:
Bien sûr, assurez-vous dans ce cas que vous n'utilisez pas la condition myArray [i] (comme certaines personnes sur Internet le suggèrent en se basant sur le fait que dès que i est supérieur, l'index le plus élevé renvoie un indéfini qui évalue à faux)
la source
"undefined"
. Il faut lirevoid 0
!"undefined"
est une chaîne et"undefined" !== void 0
, par conséquent, votreif(myArray[i]
est faux, sauf si le tableau à indexi
est défini sur la chaîne avec le contenu équivalent à'u'+'n'+'d'+'e'+'f'+'i'+'n'+'e'+'d'
. Notez également que vous ne devez pas utiliserundefined
, utilisez plutôtvoid 0
. Parce que c'estvoid 0
toujours la valeur indéfinie, tandis queundefined
peut être définie via quelque chose commefunction x(undefined) { alert(undefined) } x("hello world")
, donc vous ne pouvez pas être sûr si quelqu'un a accidentellement définiwindow["undefined"]=1
ou similaire.Ajouter un seul élément
Ajouter plusieurs éléments
Ajouter un tableau
la source
arrName.push('newElemenet1, newElemenet2, newElemenet3')
?arrName
longue1
.concat()
, bien sûr, peut également être utilisé avec des tableaux bidimensionnels. Aucune boucle requise.la source
Laissez la propriété array length faire le travail:
myarray.length renvoie le nombre de chaînes du tableau. JS est basé sur zéro, donc la clé d'élément suivante du tableau sera la longueur actuelle du tableau. EX:
la source
la source
Ajouter une valeur à un tableau
Puisque Array.prototype.push ajoute un ou plusieurs éléments à la fin d'un tableau et renvoie la nouvelle longueur du tableau , parfois nous voulons simplement obtenir le nouveau tableau mis à jour afin que nous puissions faire quelque chose comme ceci:
Ou juste:
la source
Si vous utilisez l'ES6, vous pouvez utiliser l' opérateur d' étalement pour le faire.
la source
vous pouvez le faire en utilisant la nouvelle fonctionnalité javascript Es 6:
la source
si vous souhaitez combiner 2 tableaux sans le doublon, vous pouvez essayer le code ci-dessous
usage:
Sortie: [1,2,3,4,5]
la source
Ajouter un seul élément
Pour ajouter un seul élément à un tableau, utilisez la
push()
méthode fournie par l'objet Array:push()
mute le tableau d'origine.Pour créer un nouveau tableau à la place, utilisez la
concat()
méthode Array:Remarquerez que
concat()
n'ajoute pas réellement d'élément au tableau, mais crée un nouveau tableau, que vous pouvez affecter à une autre variable, ou réaffecter au tableau d'origine (en le déclarant commelet
, car vous ne pouvez pas réaffecter aconst
):Ajouter plusieurs éléments
Pour ajouter un élément multiple à un tableau, vous pouvez utiliser
push()
en l'appelant avec plusieurs arguments:Vous pouvez également utiliser le
concat()
méthode que vous avez vue précédemment, en passant une liste d'éléments séparés par une virgule:ou un tableau:
N'oubliez pas que, comme décrit précédemment, cette méthode ne mute pas le tableau d'origine, mais elle renvoie un nouveau tableau.
la source
Vous .push () cette valeur dans. Exemple: array.push (value);
la source
Si vous souhaitez ajouter une seule valeur dans un tableau, utilisez simplement la méthode push. Il ajoutera un nouvel élément à la fin du tableau.
Mais si vous avez l'intention d'ajouter plusieurs éléments, stockez les éléments dans un nouveau tableau et concatendez le deuxième tableau avec le premier tableau ... comme vous le souhaitez.
la source
Nous n'avons pas de fonction d'ajout pour Array en javascript, mais nous avons push et unshift , imaginez que vous avez le tableau ci-dessous:
et nous aimons ajouter une valeur à ce tableau, nous pouvons le faire, arr.push (6) et il ajoutera 6 à la fin du tableau:
nous pouvons également utiliser unshift, regardez comment nous pouvons appliquer ceci:
Ce sont des fonctions principales pour ajouter ou ajouter de nouvelles valeurs aux tableaux.
la source
Vous pouvez utiliser la méthode push.
la source
push()
ajoute un nouvel élément à la fin d'un tableau.pop()
supprime un élément de la fin d'un tableau.Pour ajouter un objet (tel qu'une chaîne ou un nombre) à un tableau, utilisez -
array.push(toAppend);
la source
Ajout d'éléments sur un tableau
la source
Vous pouvez utiliser le push () si vous souhaitez ajouter des valeurs par exemple
arr.push("Test1", "Test2");
Si vous avez un tableau, vous pouvez utiliser concat (), par exemple
Array1.concat(Array2)
Si vous n'avez qu'un seul élément à ajouter, vous pouvez également essayer la méthode de longueur, par exemple
array[aray.length] = 'test';
la source