本篇文章我们来看看枚举属性的方法,文章中我们将主要学习如何使用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);})
执行结果
nameagearea
请注意,我们将函数定义为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的属性枚举方法有哪些的详细内容。