数组与对象的遍历
forEach(): 对数组进行遍历循环,对数组中的每一项运行给定函数。这个方法没有返回值。参数都是function类型,默认有传参,参数分别为:遍历的数组内容;第对应的数组索引,数组本身。
map(): 指“映射”,对数组中的每一项运行给定函数,返回每次函数调用的结果组成的数组。
filter(): “过滤”功能,数组中的每一项运行给定函数,返回满足过滤条件组成的数组。
every() : 判断数组中每一项都是否满足条件,只有所有项都满足条件,才会返回true。
some() : 判断数组中是否存在满足条件的项,只要有一项满足条件,就会返回true。
reduce()和 reduceRight() : 这两个方法都会实现迭代数组的所有项,然后构建一个最终返回的值。reduce()方法从数组的第一项开始,逐个遍历到最后。而 reduceRight()则从数组的最后一项开始,向前遍历到第一项。
这两个方法都接收两个参数:一个在每一项上调用的函数和(可选的)作为归并基础的初始值。
keys + forEach 之流 返回一个数组,包括对象自身的(不含继承的)所有可枚举属性(不含Symbol属性)
for in 循环遍历对象自身的和继承的可枚举属性(不含Symbol属性)
Object.getOwnPropertyNames() 返回一个数组,包含对象自身的所有属性(不含Symbol属性,但是包括不可枚举属性).
Reflect.ownKeys(obj) 返回一个数组,包含对象自身的所有属性,不管属性名是Symbol或字符串,也不管是否可枚举.
注:
JS数组reduce()方法详解及高级技巧
ES6之Reflect