JS 實現(xiàn)獲取對象屬性個數(shù)的方法小結(jié)
更新時間:2023年05月22日 09:26:23 作者:書香水墨
這篇文章主要介紹了JS 實現(xiàn)獲取對象屬性個數(shù)的方法,結(jié)合實例形式總結(jié)分析了JS 獲取對象屬性個數(shù)的三種常用方法,需要的朋友可以參考下
一、方法一
var attributeCount = function(obj) { ? ? var count = 0; ? ? for(var i in obj) { ? ? ? ? if(obj.hasOwnProperty(i)) { ?// 建議加上判斷,如果沒有擴展對象屬性可以不加 ? ? ? ? ? ? count++; ? ? ? ? } ? ? } ? ? return count; } var testObj = { ? ? name1: "value1", ? ? name2: "value2" }; alert(attributeCount(testObj)); // 2
二、方法二
function TestObj(name, age) { this.name = name, ?? ?this.age = age } TestObj.prototype.proCount = function() { var count = 0 for(pro in this) { ?? ?if(this.hasOwnProperty(pro)) { // 這里擴展了對象,所以必須判斷 ??? ??? ?count++; ?? ??? ?} ?? ?} ?? ?return count; } var testObj = new TestObj('名稱', 12); alert(testObj.proCount()); // 2
三、方法三
var testObj = { name1: "value1", name2: "value2" }; alert(Object.getOwnPropertyNames(testObj).length); // 2
感興趣的朋友可以使用本站在線工具:http://tools.jb51.net/code/HtmlJsRun 測試上述代碼運行效果!
筆者在開發(fā)過程中比較常用的是第三種方法,通過getOwnPropertyNames返回對象所有屬性,直接計算屬性的長度,避免了js遍歷相關(guān)操作。
相關(guān)文章
vue3+vite實現(xiàn)在線預(yù)覽pdf功能
這篇文章主要為大家詳細介紹了如何通過vue3和vite實現(xiàn)在線預(yù)覽pdf功能,文中的示例代碼簡潔易懂,具有一定的借鑒價值,感興趣的小伙伴可以學(xué)習(xí)一下2023-10-10使用Vue.js和MJML創(chuàng)建響應(yīng)式電子郵件
這篇文章主要介紹了使用Vue.js和MJML創(chuàng)建響應(yīng)式電子郵件,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2021-03-03vue.js 雙層嵌套for遍歷的方法詳解, 類似php foreach()
今天小編就為大家分享一篇vue.js 雙層嵌套for遍歷的方法詳解, 類似php foreach(),具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-09-09vue+bpmn.js實現(xiàn)自定義流程圖的完整代碼
這篇文章主要介紹了vue+bpmn.js實現(xiàn)自定義流程圖的完整代碼,本文通過實例代碼給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借價值,需要的朋友參考下吧2024-03-03