Maison >interface Web >js tutoriel >Comment convertir un tableau en objet en JavaScript ?

Comment convertir un tableau en objet en JavaScript ?

Linda Hamilton
Linda Hamiltonoriginal
2024-12-13 17:02:10109parcourir

How to Convert an Array to an Object in JavaScript?

Comment transformer un tableau en objet

Convertir un tableau en objet peut sembler une opération simple, mais il existe plusieurs méthodes pour y parvenir en fonction du résultat souhaité.

Considérez la tâche suivante : convertir le tableau ['a','b','c'] en un objet avec des touches numériques :

{
  0: 'a',
  1: 'b',
  2: 'c'
}

ES6 Object.assign()

Les navigateurs modernes prennent en charge Object.assign(), qui copie facilement les propriétés énumérables d'un ou plus d'objets source vers un objet cible :

Object.assign({}, ['a','b','c']); // {0:"a", 1:"b", 2:"c"}

Notez que la propriété length du tableau n'est pas copiée car elle n'est pas énumérable par par défaut.

Syntaxe de propagation ES8

L'opérateur de propagation d'ES8 peut également être utilisé pour répartir les éléments du tableau dans un objet :

{ ...['a', 'b', 'c'] }

Affectation de clé personnalisée

Pour des scénarios plus complexes, l'utilisation de réduire avec une fonction de transformation de clé personnalisée peut atteindre l'objectif souhaité. résultat :

['a', 'b', 'c'].reduce((a, v) => ({ ...a, [v]: v}), {}) // { a: "a", b: "b", c: "c" }

Chaque approche offre ses propres avantages et compromis. Object.assign() et la syntaxe spread sont simples et concises, tandis que la réduction offre plus de flexibilité lors du traitement des clés ou des transformations personnalisées.

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