Einzeiler zum Übernehmen spezifischer Eigenschaften von einem Objekt in ES6
F: Wie können Sie nur bestimmte Attribute aus einem Objekt in a extrahieren? prägnante Art und Weise mit ES6?
A: Hier sind ein paar Ansätze:
Am kompaktesten Ansatz:
Parameterdestrukturierung verwenden, um die Verwendung einer Parametervariablen zu vermeiden:
({id, title}) => ({id, title})
Verallgemeinerter Ansatz:
Diese Methode verwendet Object. Weisen Sie Eigenschaften zu und berechnen Sie sie, um eine allgemeinere Lösung zu erreichen:
function pick(o, ...props) { return Object.assign({}, ...props.map(prop => ({[prop]: o[prop]}))); }
Eigenschaften erhalten Attribute:
Wenn Sie die Attribute der Eigenschaften wie Konfigurierbarkeit, Getter und Setter beibehalten und gleichzeitig nicht aufzählbare Eigenschaften ausschließen müssen, verwenden Sie diesen Ansatz:
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)}))) ); }
Das obige ist der detaillierte Inhalt vonWie extrahiere ich selektiv Objekteigenschaften in ES6?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!