在JavaScript 中,取得物件內屬性的長度或數量可以透過以下幾種方式來實作方法。
對於支援ES5 以上版本的瀏覽器(包括IE9),Object.keys() 方法提供了一個簡單的解決方案。它傳回一個包含物件鍵的陣列,其長度可以如下確定:
const myObject = new Object(); myObject["firstname"] = "Gareth"; myObject["lastname"] = "Simpson"; myObject["age"] = 21; const size = Object.keys(myObject).length;
另一個可行的選項是Object .getOwnPropertyNames()方法,它提供物件中的屬性名稱列表,不包括任何繼承的屬性名稱原型鏈中的屬性:
const myObject = new Object(); myObject["firstname"] = "Gareth"; myObject["lastname"] = "Simpson"; myObject["age"] = 21; const size = Object.getOwnPropertyNames(myObject).length;
但是,需要注意的是,物件可以擁有符號屬性,但這些屬性不會被傳回通過Object.keys() 或Object.getOwnPropertyNames()。為了解決這個問題,可以使用 Object.getOwnPropertySymbols() 方法:
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;
以上是如何計算 JavaScript 物件的屬性數量?的詳細內容。更多資訊請關注PHP中文網其他相關文章!