Satu pelapis untuk Mengambil Sifat Tertentu daripada Objek dalam ES6
S: Bagaimanakah anda boleh mengekstrak atribut tertentu sahaja daripada objek dalam cara ringkas menggunakan ES6?
J: Berikut adalah beberapa pendekatan:
Pendekatan Paling Padat:
Menggunakan pemusnahan parameter untuk mengelakkan penggunaan pembolehubah parameter:
({id, title}) => ({id, title})
Pendekatan Umum:
Kaedah ini menggunakan Object.assign dan sifat dikira untuk mencapai sifat yang lebih umum penyelesaian:
function pick(o, ...props) { return Object.assign({}, ...props.map(prop => ({[prop]: o[prop]}))); }
Memelihara Atribut Harta:
Jika anda perlu mengekalkan atribut sifat, seperti kebolehkonfigurasian, pengambil dan penetap, sementara tidak termasuk bukan- sifat terbilang, gunakan pendekatan ini:
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)}))) ); }
Atas ialah kandungan terperinci Bagaimana untuk Mengekstrak Sifat Objek secara Selektif dalam ES6?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!