Rumah >hujung hadapan web >tutorial js >Bagaimana untuk Dapatkan Nama Harta Warisan Tidak Terhitung dalam JavaScript?
Mendapatkan Nama Harta Diwarisi Tidak Boleh Dikira bagi Objek dalam JavaScript
JavaScript menyediakan pelbagai kaedah untuk mengakses sifat objek berdasarkan keperluan khusus. Walau bagaimanapun, tiada satu pun daripada kaedah ini membenarkan untuk mendapatkan semula harta yang tidak terhitung, bukan milik sendiri. Artikel ini meneroka pendekatan alternatif untuk mengekstrak sifat sedemikian.
Penyelesaian: Memanfaatkan getOwnPropertyNames dan Rantaian Prototaip
Memandangkan Object.getOwnPropertyNames() boleh mendapatkan semula sifat yang tidak boleh dikira, ia boleh digabungkan dengan prototaip rantai traversal. Fungsi JavaScript berikut, getAllProperties(), berulang melalui rantaian prototaip objek dan menyusun senarai semua sifat bukan miliknya yang tidak boleh dikira:
var allProps = [] , curr = obj do{ var props = Object.getOwnPropertyNames(curr) props.forEach(function(prop){ if (allProps.indexOf(prop) === -1) allProps.push(prop) }) }while(curr = Object.getPrototypeOf(curr)) return allProps
}
Contoh Penggunaan
Untuk menunjukkan kefungsian fungsi getAllProperties() , pertimbangkan tatasusunan berikut objek:
console.log(getAllProperties([1,2,3]));
Output:
[ 'length' ]
Output menyenaraikan 'panjang' sifat tidak terhitung, yang dimiliki oleh rantai Array.prototype.
Atas ialah kandungan terperinci Bagaimana untuk Dapatkan Nama Harta Warisan Tidak Terhitung dalam JavaScript?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!