Maison >interface Web >js tutoriel >Comment puis-je étendre efficacement un tableau JavaScript avec un autre tableau ?

Comment puis-je étendre efficacement un tableau JavaScript avec un autre tableau ?

Susan Sarandon
Susan Sarandonoriginal
2024-11-19 05:48:02277parcourir

How Can I Efficiently Extend a JavaScript Array with Another Array?

Extension d'un tableau JavaScript avec un autre tableau

L'extension d'un tableau JavaScript existant avec un autre tableau n'est pas une opération directe. Cependant, il existe des moyens efficaces d'y parvenir sans créer de nouveau tableau.

Méthode Push avec opérateur Spread (ES6)

La méthode .push peut accepter plusieurs arguments. En utilisant l'opérateur spread, nous pouvons passer tous les éléments du deuxième tableau comme arguments à .push, étendant ainsi le premier tableau :

a.push(...b)

Pour les navigateurs qui ne prennent pas en charge ES6, nous pouvons utiliser .apply à la place :

a.push.apply(a, b)

Alternativement, pour plus de clarté :

Array.prototype.push.apply(a,b)

Technique basée sur la boucle

Une approche basée sur la boucle est recommandée si le deuxième le tableau (b) est grand, car les méthodes précédentes peuvent provoquer des erreurs de débordement de pile. Le code suivant effectue l'opération d'extension :

for (var i = 0; i < b.length; i++) {
  a.push(b[i]);
}

Autres considérations

Notez que les deux approches fonctionneront efficacement lorsque a est nettement plus grand que b. Cependant, si b contient un grand nombre d'éléments, la technique basée sur les boucles doit être utilisée pour éviter les erreurs de débordement de pile.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn