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
150 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!

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