Maison > interface Web > js tutoriel > Comment sélectionner efficacement les propriétés d'un objet JavaScript à l'aide d'ES6 ?

Comment sélectionner efficacement les propriétés d'un objet JavaScript à l'aide d'ES6 ?

Patricia Arquette
Libérer: 2024-12-18 01:46:09
original
265 Les gens l'ont consulté

How to Efficiently Select Properties from a JavaScript Object Using ES6?

Comment sélectionner les propriétés d'un objet à l'aide d'ES6

Dans ES6, JavaScript fournit plusieurs méthodes pour sélectionner des propriétés spécifiques d'un objet de manière concise manière.

Utiliser la déstructuration

Une approche consiste à utiliser la déstructuration, qui permet d'attribuer des propriétés spécifiques à des variables sur une seule ligne :

({ id, title }) => ({ id, title });
Copier après la connexion

Utiliser la déstructuration des paramètres

Une solution encore plus simple consiste à utiliser la déstructuration des paramètres, éliminant le besoin d'un paramètre v explicite :

({id, title}) => ({id, title});
Copier après la connexion

Utilisation Object.assign()

Pour plus de flexibilité, vous pouvez utiliser Object.assign() pour créer un nouvel objet avec les propriétés sélectionnées :

function pick(o, ...props) {
    return Object.assign({}, ...props.map(prop => ({[prop]: o[prop]})));
}
Copier après la connexion

Préserver la propriété Attributs

Si vous devez conserver les attributs de propriété d'origine (configurables, getters, setters), vous pouvez utiliser :

function pick(o, ...props) {
    var has = p => o.propertyIsEnumerable(p),
        get = p => Object.getOwnPropertyDescriptor(o, p);

    return Object.defineProperties({},
        Object.assign({}, ...props
            .filter(prop => has(prop))
            .map(prop => ({prop: get(prop)})))
    );
}
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!

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