Maison > interface Web > js tutoriel > Comment puis-je fusionner efficacement des objets JavaScript ?

Comment puis-je fusionner efficacement des objets JavaScript ?

Barbara Streisand
Libérer: 2024-12-21 15:55:11
original
722 Les gens l'ont consulté

How Can I Efficiently Merge JavaScript Objects?

Fusionner les propriétés d'un objet JavaScript : un guide complet

En JavaScript, la fusion de deux objets est souvent nécessaire pour combiner leurs propriétés en une seule entité. Ceci est particulièrement utile lorsque vous travaillez avec des données provenant de plusieurs sources ou lorsque vous combinez des options de configuration de différents modules.

Méthodes intégrées

ECMAScript 2018 : répartition des objets

L'opérateur de répartition d'objet (...) vous permet de fusionner facilement deux objets ou plus. La syntaxe est la suivante :

let merged = {...obj1, ...obj2};
Copier après la connexion

L'objet fusionné résultant contiendra toutes les propriétés d'obj1 et d'obj2, les propriétés ultérieures écrasant les précédentes.

ECMAScript 2015 : Objet .assign()

Object.assign(obj1, obj2);
Copier après la connexion

Semblable à l'opérateur de propagation, Object.assign() fusionne propriétés d'obj2 en obj1. Cependant, obj1 sera muté et renvoyé. De plus, plusieurs objets peuvent être fusionnés à l'aide de cette méthode.

ES5 et versions antérieures

Pour des raisons de compatibilité, vous pouvez utiliser une boucle for-in pour fusionner des objets :

for (var attrname in obj2) { obj1[attrname] = obj2[attrname]; }
Copier après la connexion

Bien que cela fonctionne, il ajoute simplement des propriétés obj2 à obj1 et peut écraser les propriétés existantes. ceux-là.

Fonction de fusion personnalisée

Si vous avez besoin de plus de contrôle sur le processus de fusion, vous pouvez créer une fonction personnalisée :

function merge_options(obj1, obj2) {
    var obj3 = {};
    for (var attrname in obj1) { obj3[attrname] = obj1[attrname]; }
    for (var attrname in obj2) { obj3[attrname] = obj2[attrname]; }
    return obj3;
}
Copier après la connexion

Ceci La fonction crée un nouvel objet basé sur obj1 et obj2, offrant la flexibilité de personnaliser le comportement de fusion.

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!

source:php.cn
Déclaration de ce site Web
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal