首頁 >web前端 >js教程 >JavaScript的屬性枚舉方法有哪些

JavaScript的屬性枚舉方法有哪些

不言
不言原創
2019-01-15 14:37:093424瀏覽

這篇文章我們來看看枚舉屬性的方法,文章中我們將主要學習如何使用forEach()、map()、filter()方法,下面我們就來看看具體的內容。

JavaScript的屬性枚舉方法有哪些

我們在上一篇文章中為大家介紹了關於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中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn