在使用 jQuery 的過程中,我們經(jīng)常會遇到需要處理 JSON 格式的數(shù)據(jù)。而一個(gè)常用的操作是獲取 JSON 對象中屬性的數(shù)量,這時(shí)就可以使用json.length
這個(gè)屬性。
var myJson = { name: "張三", age: 20, gender: "男" }; console.log(Object.keys(myJson).length); // 3
以上代碼中,我們定義了一個(gè) JSON 對象myJson
,并使用Object.keys(myJson).length
獲取了它的屬性數(shù)量。由于 JavaScript 中對象的屬性數(shù)量無法直接獲取,因此需要通過先將對象的屬性名(即所謂的“鍵”)轉(zhuǎn)換成一個(gè)數(shù)組,再獲取它的長度。
需要注意的是,在使用json.length
獲取 JSON 對象屬性數(shù)量的時(shí)候會出現(xiàn)一個(gè)無法識別的錯(cuò)誤:
var myJson = { name: "張三", age: 20, gender: "男" }; console.log(myJson.length); // undefined
以上代碼直接使用myJson.length
獲取屬性數(shù)量是無法得到正確結(jié)果的,因?yàn)?JSON 對象并沒有內(nèi)置length
屬性。因此,如果你要獲取 JSON 對象的屬性數(shù)量,必須要使用上述Object.keys()
方法。