Heim > Web-Frontend > js-Tutorial > Wie extrahiere ich selektiv Objekteigenschaften in ES6?

Wie extrahiere ich selektiv Objekteigenschaften in ES6?

Linda Hamilton
Freigeben: 2024-12-17 11:12:26
Original
455 Leute haben es durchsucht

How to Selectively Extract Object Properties in ES6?

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

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

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

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!

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