Open LastPoem opened 5 years ago
映射,一一对应。
let arr = [23,43,65,76,59,97];
let arr2 = arr.map( item=>item>=60?'及格':'不及格');
只返回一个值。
参数 | 描述
total | 必需。初始值, 或者计算结束后的返回值。 currentValue | 必需。当前元素 currentIndex | 可选。当前元素的索引 arr | 可选。当前元素所属的数组对象。
let arr = [23,43,65,76,59,97];
let result = arr.reduce(( tmp, item )=>{
alert( "初始值"+tmp + "当前值"+ item ); return tmp+item;
})
过滤
let arr = [23,43,65,76,59,97];
let arr2 = arr.filter(item=>
item%2 == 0 ?true:false
)
1.扩展运算符
扩展运算符(spread)是三个点(...)。它好比 rest 参数的逆运算,将一个数组转为用逗号分隔的参数序列。 主要用于函数调用,将一个数组变为参数序列。可与正常的函数参数一起使用
替代函数的apply方法
由于扩展运算符可以展开数组,所以不再需要使用apply方法将数组转为函数参数了。
扩展运算符的应用
[...'hello'] // [ "h", "e", "l", "l", "o" ]
2.Array.from
Array.from方法用于将两类对象转为真正的数组:类似数组的对象(array-like object)和可遍历(iterable)的对象(包括 ES6 新增的数据结构 Set 和 Map)。 对于还没有部署该方法的浏览器,可以用Array.prototype.slice方法替代。 Array.from还可以接受第二个参数,作用类似于数组的map方法,用来对每个元素进行处理,将处理后的值放入返回的数组。
3.Array.of
Array.of方法用于将一组值,转换为数组.这个方法的主要目的,是弥补数组构造函数Array()的不足。因为参数个数的不同,会导致Array()的行为有差异。
4.数组实例的copyWithin()
数组实例的copyWithin()方法,在当前数组内部,将指定位置的成员复制到其他位置(会覆盖原有成员),然后返回当前数组。也就是说,使用这个方法,会修改当前数组。 它接受三个参数。
5.数组实例的find()和findIndex()
数组实例的find方法,用于找出第一个符合条件的数组成员。它的参数是一个回调函数,所有数组成员依次执行该回调函数,直到找出第一个返回值为true的成员,然后返回该成员。如果没有符合条件的成员,则返回undefined。
6.数组实例的fill()
使用定值填充一个数组。
7.数组实例的entries(),keys() 和 values()
ES6 提供三个新的方法——entries(),keys()和values()——用于遍历数组。它们都返回一个遍历器对象,可以用for...of循环进行遍历,唯一的区别是keys()是对键名的遍历、values()是对键值的遍历,entries()是对键值对的遍历。
8.数组实例的includes()
Array.prototype.includes方法返回一个布尔值,表示某个数组是否包含给定的值,与字符串的includes方法类似。ES2016 引入了该方法。该方法的第二个参数表示搜索的起始位置,默认为0。如果第二个参数为负数,则表示倒数的位置,如果这时它大于数组长度(比如第二个参数为-4,但数组长度为3),则会重置为从0开始。
9.数组实例的 flat(),flatMap()
数组的成员有时还是数组,Array.prototype.flat()用于将嵌套的数组“拉平”,变成一维的数组。该方法返回一个新数组,对原数据没有影响。
10.数组的空位
数组的空位指,数组的某一个位置没有任何值。比如,Array构造函数返回的数组都是空位。 空位不是undefined,一个位置的值等于undefined,依然是有值的。空位是没有任何值,in运算符可以说明这一点。