Rumah >hujung hadapan web >tutorial js >Bagaimana untuk Mengira Sifat dalam Objek JavaScript?

Bagaimana untuk Mengira Sifat dalam Objek JavaScript?

Patricia Arquette
Patricia Arquetteasal
2024-12-20 11:58:10886semak imbas

How to Count the Properties in a JavaScript Object?

Kira Sifat dalam Objek JavaScript

Dalam JavaScript, mendapatkan panjang atau bilangan sifat dalam objek boleh dicapai melalui beberapa kaedah.

Object.keys() Kaedah

Untuk penyemak imbas yang menyokong ES5 dan ke atas, termasuk IE9 , kaedah Object.keys() menawarkan penyelesaian yang mudah. Ia mengembalikan tatasusunan yang mengandungi kekunci objek dan panjangnya boleh ditentukan seperti berikut:

const myObject = new Object();
myObject["firstname"] = "Gareth";
myObject["lastname"] = "Simpson";
myObject["age"] = 21;

const size = Object.keys(myObject).length;

Object.getOwnPropertyNames() Method

Satu lagi pilihan yang berdaya maju ialah kaedah Object.getOwnPropertyNames(), yang menyediakan senarai nama harta dalam objek, tidak termasuk sebarang sifat yang diwarisi daripada rantai prototaip:

const myObject = new Object();
myObject["firstname"] = "Gareth";
myObject["lastname"] = "Simpson";
myObject["age"] = 21;

const size = Object.getOwnPropertyNames(myObject).length;

Berhati-hati dengan Sifat Simbol

Walau bagaimanapun, adalah penting untuk ambil perhatian bahawa objek boleh memiliki sifat simbolik , yang tidak dikembalikan oleh sama ada Object.keys() atau Object.getOwnPropertyNames(). Untuk mengambil kira ini, kaedah Object.getOwnPropertySymbols() boleh digunakan:

const myObject = new Object();
myObject["firstname"] = "Gareth";
myObject["lastname"] = "Simpson";
myObject["age"] = 21;

const symbolProps = Object.getOwnPropertySymbols(myObject);
const totalSize = Object.keys(myObject).length + symbolProps.length;

Atas ialah kandungan terperinci Bagaimana untuk Mengira Sifat dalam Objek JavaScript?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn