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};
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);
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]; }
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; }
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!