7.9 ES5中的数组方法
ECMAScript 5定义了9个新的数组方法来遍历、映射、过滤、检测、简化、搜索数组。
7.9.1 forEach()
7.9.2 map()
将调用的数组的每个元素传递给指定的函数,并返回一个数组,包含函数的返回值。
例如数组的每个元素的立方:
7.9.3 filter(),返回数组的一个子集
返回值为true或者能转化为true的,就添加到返回值数组中。
会跳过稀疏数组中缺少的元素,返回的数组总是稠密的,压缩空缺并删除undefined和null元素,可以使用:
7.9.4 every()和some()
数组的逻辑判断,对数组元素应用指定的函数进行判定,返回true或者false.
every()表示当前仅当数组中的所有元素调用判定函数都返回true时,它才返回true
some()方法就像数学中的存在量词,当数组中至少有一个元素调用判定函数返回true,它就返回true,当所有元素都返回false,它才返回false.逻辑短路,一旦确认返回什么值就停止遍历数组。
7.9.5 reduce()简化和reduceRight()
使用指定的函数将数组元素进行组合,生成单个值。也可以称为注入和折叠。
函数有两个值,第一个值是化简函数,第二个值是传入的初始值。如果没有第二个值,默认是数组前两项作为初始值。
以后求数字的数组最大值,最小值都很快了。
reduceRight()是从右向左简化
并集union()函数,通过merge(o,p)函数实现
7.9.6 indexOf()和lastIndexOf(),从头到尾和从尾到头的找
搜索整个数组中具有给定值的元素,返回找到的第一个元素的索引,第二个参数表示从下标几开始
7.10 数组类型
使用Array.isArray(o)判断对象是否为数组。
7.11 类数组对象
略,有需要查资料。
7.12 数组的字符串
字符串是不可变的,当做字符的数组时,是只读的。
charAt()来访问单个字符