ES6扩展内容(数组扩展)

823 阅读2分钟

四、数组扩展

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);