Maison > interface Web > js tutoriel > Comment créer des objets JavaScript avec des noms de propriétés dynamiques ?

Comment créer des objets JavaScript avec des noms de propriétés dynamiques ?

Susan Sarandon
Libérer: 2024-12-03 12:35:11
original
125 Les gens l'ont consulté

How to Create JavaScript Objects with Dynamic Property Names?

Création d'objets avec des noms de propriétés dynamiques

En JavaScript, les objets sont généralement définis à l'aide de paires clé-valeur littérales. Cependant, il existe des cas dans lesquels vous pouvez rencontrer un scénario dans lequel les noms de propriétés sont dynamiques ou inconnus au moment de la création de l'objet. Ceci peut être réalisé grâce à l'utilisation de la notation entre crochets.

Problème :

Considérez l'extrait de code suivant :

var KEYS = {} ;

KEYS.PHONE_TYPE = 'phone-type';
KEYS.AGENT_TYPE = 'agent-type';

var myAppConfig = {
    ...
    iconMap : { 
        KEYS.PHONE_TYPE : 'icon-phone', 
        KEYS.AGENT_TYPE : 'icon-headphones'
    };
    ...
};
Copier après la connexion

Ce code échoue avec l'erreur "Attendu ':' et à la place j'ai vu '.'." En effet, vous essayez d'accéder à l'objet KEYS en tant que propriété de l'objet myAppConfig en utilisant la notation par points (.). Pour résoudre ce problème, vous devez utiliser la notation entre crochets [] pour accéder aux propriétés de manière dynamique.

Solution :

En utilisant ES6 (ou un transpileur comme Babel/browserify), vous pouvez initialiser un objet avec des noms de propriétés dynamiques en utilisant la notation entre crochets, comme indiqué ci-dessous :

iconMap : { 
    [KEYS.PHONE_TYPE] : 'icon-phone', 
    [KEYS.AGENT_TYPE] : 'icon-headphones'
};
Copier après la connexion

Dans ce code, les crochets [] autour des propriétés KEYS vous permettent de spécifier dynamiquement les noms de propriétés en fonction des valeurs stockées dans l'objet KEYS. En conséquence, la propriété iconMap de l'objet myAppConfig contiendra le mappage de valeurs souhaité :

{
    'phone-type' : 'icon-phone',
    'agent-type' : 'icon-headphones'
}
Copier après la connexion

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