四、数组扩展
ES5中新增的方法
1、Array.isArray()
判断是否是一个数组:
Array.isArray(arr) //true||flase
2、forEach()
对数组进行循环
数组.foreach(function(item,index,arr){
//item:当前的数组元素,相当于arr[index]
//index:数组元素的索引。
//arr:当前的数组。
});
1. 如果item的值是基本数据类型,修改item并不影响原数组。若是引用数据类型,则会影响
2.不能break
3.若不需要这三个参数,要按顺序省略
3、map()
功能:逐一处理原数组元素,返回到一个新数组
arr.map(function(item,index,arr){
return
});
4、filter
逐一过滤原数组元素,留下符合条件的元素得到一个新数组
arr.filter(function(item,index,arr){
return 布尔值;//值为真,表示要留下这个数据
});
5、reduce()
不断地将前一项和后一项的值进行运算(每次的运算会涉及两项),把前一轮运算的结果作为当前运算的前一项,返回最后结果。
格式:
(1)不带初始值:
数组.reduce(function(prev,next){
return
})
let arr = [80, 70, 60, 50, 30];
let sum = 0;
sum=arr.reduce(function(prev,next){
return prev+next;
})
console.log(sum);
(2)带初始值:
数组.reduce(function(prev,next){...},初值)
let arr = [80, 70, 60, 50, 30];
let sum = 0;
sum=arr.reduce(function(prev,next){
return prev+next;
},1000)
console.log(sum);
6、some()
只要数组中的某一个元素符合指定的条件,就会返回真,否则返回假。
数组.some(function(value,index,arr){
return;
})
7、every()
数组中的所有元素都符合指定的条件,才返回true,否则返回false
数组.every(function(value,index,arr){
return;
})
ES6中新增的方法
1、Array.from()
把类数组对象转成真正的数组
格式1:Array.from(类数组对象);
格式2:Array.from(类数组对象,function(item,index){
return ;//
})
2、Array.of()
将一组值转换为数组
3、find和findIndex()
find:用于找出第一个符合条件的数组元素,找不到则是undefined。只找一个。
findIndex:返回第一个符合条件的数组元素的索引,找不到则是-1.
arr.find(function(item,index){
Return 条件 ;
})
4、includes()
判断元素是否在数组中存在,返回值是true\false
5、fill()
给数组填充指定值。fill方法用于空数组的初始化非常方便。已有数据会被覆盖,fill方法还可以接受第二个和第三个参数,用于指定填充的起始位置和结束位置
let arr=[1,2,3];
arr.fill("*");
console.log(arr);