Maison > interface Web > js tutoriel > Comment extraire sélectivement les propriétés d'un objet dans ES6 ?

Comment extraire sélectivement les propriétés d'un objet dans ES6 ?

Linda Hamilton
Libérer: 2024-12-17 11:12:26
original
526 Les gens l'ont consulté

How to Selectively Extract Object Properties in ES6?

One-liner pour prendre des propriétés spécifiques d'un objet dans ES6

Q : Comment pouvez-vous extraire uniquement certains attributs d'un objet dans un de manière concise en utilisant ES6 ?

R : Voici quelques approches :

La plus compacte Approche :

Utiliser la déstructuration des paramètres pour éviter d'utiliser une variable paramètre :

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

Approche généralisée :

Cette méthode utilise Object. attribuer et calculer des propriétés pour obtenir une solution plus générale :

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 des propriétés, tels que la configurabilité, les getters et les setters, tout en excluant les propriétés non dénombrables, utilisez cette approche :

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(props)})))
    );
}
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