Maison > interface Web > js tutoriel > Comment convertir un tableau d'objets en un seul objet avec des paires clé-valeur en JavaScript ?

Comment convertir un tableau d'objets en un seul objet avec des paires clé-valeur en JavaScript ?

Susan Sarandon
Libérer: 2024-11-11 11:03:02
original
927 Les gens l'ont consulté

How do I convert an array of objects to a single object with key-value pairs in JavaScript?

Conversion d'un tableau d'objets en un objet avec des paires clé-valeur en JavaScript

En JavaScript, conversion d'un tableau d'objets en un seul objet avec des paires clé-valeur nécessite l’utilisation de techniques avancées de manipulation de tableaux. Explorons comment y parvenir d'une manière compatible avec le navigateur.

Pour commencer, comprenons la structure du tableau d'entrée :

var arr = [{"name1":"value1"},{"name2":"value2"},...];
Copier après la connexion

Ce tableau contient plusieurs objets, chacun avec une clé -paire de valeurs. Notre objectif est de créer un objet qui fusionne les paires clé-valeur de tous les objets du tableau.

Utilisation de Object.assign() et Spread Syntax

La solution la plus moderne et compatible avec les navigateurs consiste à utiliser la méthode Object.assign() avec la syntaxe spread (...). Object.assign() fusionne les propriétés de plusieurs objets source dans un objet cible. L'utilisation d'une syntaxe répartie sur le tableau arr nous permet de l'aplatir, fusionnant tous les objets en une seule source.

var array = [{ name1: "value1" }, { name2: "value2" }],
    object = Object.assign({}, ...array);

console.log(object); // {name1: "value1", name2: "value2"}
Copier après la connexion

Dans cet exemple, Object.assign() crée un nouvel objet (objet) en fusionnant un objet vide {} avec le tableau aplati créé par la syntaxe spread (...array). Cela combine toutes les paires clé-valeur des objets du tableau arr en un seul objet.

Prise en charge des navigateurs plus anciens

Si vous devez prendre en charge les navigateurs existants qui n'ont pas Object.assign( ) ou une syntaxe spread, vous pouvez utiliser un polyfill pour fournir ces méthodes. De plus, il existe d'autres méthodes alternatives, telles que l'utilisation de réduire() ou de boucles for, pour obtenir le même résultat. Cependant, ces approches peuvent être moins efficaces ou nécessiter plus de code.

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