Heim >Web-Frontend >js-Tutorial >Wie wähle ich mit ES6 effizient Eigenschaften aus einem JavaScript-Objekt aus?

Wie wähle ich mit ES6 effizient Eigenschaften aus einem JavaScript-Objekt aus?

Patricia Arquette
Patricia ArquetteOriginal
2024-12-18 01:46:09152Durchsuche

How to Efficiently Select Properties from a JavaScript Object Using ES6?

So wählen Sie Eigenschaften eines Objekts mit ES6 aus

In ES6 bietet JavaScript mehrere Methoden zum prägnanten Auswählen bestimmter Eigenschaften eines Objekts Art und Weise.

Destrukturierung verwenden

Ein Ansatz ist die Verwendung Destrukturierung, mit der Sie Variablen in einer einzigen Zeile bestimmte Eigenschaften zuweisen können:

({ id, title }) => ({ id, title });

Verwenden der Parameterdestrukturierung

Eine noch schlankere Lösung ist die Verwendung der Parameterdestrukturierung. Eliminierung der Notwendigkeit eines expliziten v-Parameters:

({id, title}) => ({id, title});

Using Object.assign()

Für mehr Flexibilität können Sie Object.assign() verwenden, um ein neues Objekt mit den ausgewählten Eigenschaften zu erstellen:

function pick(o, ...props) {
    return Object.assign({}, ...props.map(prop => ({[prop]: o[prop]})));
}

Eigenschaft beibehalten Attribute

Wenn Sie die ursprünglichen Eigenschaftsattribute (konfigurierbar, Getter, Setter) beibehalten müssen, können Sie dies tun verwenden:

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(prop)})))
    );
}

Das obige ist der detaillierte Inhalt vonWie wähle ich mit ES6 effizient Eigenschaften aus einem JavaScript-Objekt aus?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
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