Heim > Web-Frontend > js-Tutorial > Wie extrahiere ich bestimmte Eigenschaften präzise aus einem Objekt in ES6?

Wie extrahiere ich bestimmte Eigenschaften präzise aus einem Objekt in ES6?

DDD
Freigeben: 2024-12-15 09:48:12
Original
188 Leute haben es durchsucht

How to Concisely Extract Specific Properties from an Object in ES6?

Einzeiler zum Extrahieren von Eigenschaften aus einem Objekt in ES6

Problem:

Wie kann man eine Funktion schreiben, die Wählt in ES6 auf prägnanteste Weise bestimmte Eigenschaften eines Objekts aus?

Initial Lösung:

Der folgende Ansatz verwendet Destrukturierung und ein vereinfachtes Objektliteral, um dies zu erreichen:

(v) => {
    let { id, title } = v;
    return { id, title };
}
Nach dem Login kopieren

Verbesserte Lösung:

A Mithilfe von Parametern kann eine effizientere Lösung erreicht werden, die auch die Wiederholung von Eigenschaftsnamen eliminiert Destrukturierung:

({id, title}) => ({id, title})
Nach dem Login kopieren

Diese Lösung bietet eine prägnantere Alternative unter Beibehaltung der gewünschten Funktionalität.

Alternative Ansätze:

  • Object.assign: Dieser Ansatz kann verwendet werden, um die Attribute der ursprünglichen Eigenschaften beizubehalten und gleichzeitig herauszufiltern nicht aufzählbare 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

Das obige ist der detaillierte Inhalt vonWie extrahiere ich bestimmte Eigenschaften präzise aus einem Objekt 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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage