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的属性枚举办法是什么的具体内容,更多请关注百分百源码网其它相关文章!