這篇文章我們來看看枚舉屬性的方法,文章中我們將主要學習如何使用forEach()、map()、filter()方法,下面我們就來看看具體的內容。
我們在上一篇文章中為大家介紹了關於JavaScript的屬性枚舉方法有哪些中Object.keys取得物件屬性的方法,接下來我們就來看看JavaScript的屬性枚舉方法有哪些列舉屬性的方法。
先來看常見的物件資料
var obj = { name: '张 三', age: 30, area: '北京' }透過forEach()列舉屬性
forEach()是一個可用來陣列的方法,但由於Object.keys ()的回傳值是一個數組,因此相容性很好。
要列舉屬性,請看如下描述。
Object.keys(obj).forEach(function(data) { console.log(data); })
執行結果
name age area
請注意,我們將函數定義為forEach()的參數。
透過這樣描述,可以對每個屬性執行任意函數。
順便說一句,也可以使用像「obj [data]」這樣的格式輸出屬性的值!
透過map()枚舉屬性
基本用法與forEach()相同,但它是一個作為陣列傳回值取得屬性的函數。
請看下面的範例!
var result = Object.keys(obj).map(function(data) { return data; })
執行結果
["name", "age", "area"]
請注意map()參數中指定函數的內容。
透過filter()枚舉屬性
filter()和map()的用法幾乎一樣。
請看下面的範例
var result = Object.keys(obj).filter(function(data) { return data; })
執行結果
["name", "age", "area"]
在這個範例中,我們只是用filter()取代了map()部分,但執行結果是相同的。
filter()的特徵是可以描述僅在滿足特定條件時取得值的過程。
例如,「return data ==='name'」僅在屬性具有「name」時才傳回值。
如果使用filter(),例如只提取30歲以上的用戶也會很容易。
以上是JavaScript的屬性枚舉方法有哪些的詳細內容。更多資訊請關注PHP中文網其他相關文章!