Heim > Web-Frontend > js-Tutorial > Wie kann ich in ES6 bestimmte Eigenschaften effizient aus einem Objekt extrahieren?

Wie kann ich in ES6 bestimmte Eigenschaften effizient aus einem Objekt extrahieren?

Barbara Streisand
Freigeben: 2024-12-24 17:32:14
Original
189 Leute haben es durchsucht

How Can I Efficiently Extract Specific Properties from an Object in ES6?

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})
Nach dem Login kopieren

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]})))
}
Nach dem Login kopieren

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)})))
    );
}
Nach dem Login kopieren

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!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage