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})
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]}))); }
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)}))) ); }
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!