1.扩展运算符(…)
- 把数组转成逗号分割的参数列表
- 通过…可以获取数组的所有值
- 复制数组
var arr1 = [1,2,3];
var arr2 = [...arr1];
console.log(arr2); //[1,2,3]
- 合并数组
var a = [1,2,3];
var b = [4,5,6];
var c = [6,7,8];
// ES5
var d = a.concat(b,c);
console.log(d);
// ES6
var e = [...a,...b,...c];
console.log(e);
- 解构赋值
let[a,b,...args]=[1,2,3,4,5];
console.log(a); //1
console.log(b); //2
console.log(args); //[3,4,5]
- 用于字符串
let arr = [..."hello"]
console.log(arr) //["h", "e", "l", "l", "o", "w"]
- 适用于所有的类数组集合(实现了遍历接口的数据类型)
2.Array构造函数新增方法
1.Array.from()
- 将类数组对象转换为纯数组
- Array.of()
- 将一组值,转换成数组
- 相当于创建数组
- Array.of(3) != new Array(3)
- Array.isArray(arr)
- 判断是否是数组,返回布尔值
3.数组对象新增方法
1.find()
- 找出数组中符合条件的第一个元素
- 参数是一个回调函数 (item每个的值,index索引)
- 参数是一个匿名函数,数组的每个元素都会进入匿名函数执行,直到结果为true,find函数就会返回value的值
- 如果没有满足条件的就返回undefind
let arr = [9,16,-9,7,56];
var result = arr.find(function(item,index){
if(item>10){
return true;
}
return false;
})
console.log(result);
2.findIndex()
- 函数作用:返回符合条件的第一个数组成员的索引。
- 和find()使用方式是一样的
- 如果没有满足条件的就返回-1
3.entries() - 对数组的键值对进行遍历,返回一个遍历器,可以用for…of对其进行遍历。
let arr = [9,16,-9,7,56];
for(let[key,value]of arr.entries()){
console.log(key,value)
}
- 返回每一个key值和value值
4.keys() - 遍历数组所有的key值
5.values() - 遍历数组所有的value值
6.includes() - 检索数组是否包含某个值,返回布尔值
- fill()
- 用指定的值,填充到数组。
- 第一个参数是填充的值,如果只写一个参数,我们整个数组都会被填充成这个值
- 第二个和第三个参数可以决定填充的范围
- filter(callback)
- 过滤数组单元,将满足条件的元素过滤出来,生成新的数组单元
- map(callback)
- 对数组进行遍历,将计算后的值返回成新数组
- 返回具体值
- some(callback)
- 对数组遍历,只要一个满足就返回true,都不满足返回false
- every(callback)
- 对数组进行遍历,数组必须都满足条件才会返回true,否则返回false
- forEach(callback)
遍历数组,无返回值 - reduce(function(preValue,nowValue,index,arrSelf)){return preValue+nowValue}
- 计算数组元素的和
- preValue 上一个值
- nowValue 当前值
- index 当前索引
- arrSelf 当前数组