我們在上一篇文章中給大家介紹了關于JavaScript中Object.keys獲取對象屬性的方法,接下來我們就來看看JavaScript枚舉屬性的方法。
先來看一下常見的對象數據
var obj = { name: '張 三', age: 30, area: '北京' }
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歲以上的用戶也會很容易。
聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com