Einzeiler zum Übernehmen von Eigenschaften aus Objekten in ES6
Viele Entwickler haben nach einer prägnanten Methode zum Extrahieren spezifischer Eigenschaften aus Objekten in ES6 gesucht. Eine gängige Lösung verwendet Destrukturierung und vereinfachte Objektliterale, obwohl das Wiederholen der Liste von Feldern im Code umständlich sein kann.
Verbesserte Lösung
Ein optimierterer Ansatz beinhaltet „Parameter Destrukturierung“, wodurch die Notwendigkeit eines expliziten Parameters entfällt:
({id, title}) => ({id, title})
Verallgemeinert Lösung
Für mehr Flexibilität sollten Sie die „Pick“-Funktion in Betracht ziehen, die ein Objekt und eine beliebige Anzahl von Eigenschaften als Argumente akzeptiert:
function pick(o, ...props) { return Object.assign({}, ...props.map(prop => ({[prop]: o[prop]}))) }
Eigenschaftsattribute beibehalten
Um Eigenschaftsattribute wie Konfigurierbarkeit und Getter/Setter beizubehalten und gleichzeitig nicht aufzählbare Eigenschaften auszuschließen Eigenschaften:
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)}))) ); }
Diese Lösungen bieten eine prägnante und vielseitige Möglichkeit, spezifische Eigenschaften aus Objekten in ES6 zu extrahieren und verschiedene Anwendungsfälle abzudecken.
Das obige ist der detaillierte Inhalt vonWie kann ich in ES6 bestimmte Eigenschaften effizient aus einem Objekt extrahieren?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!