ES6数组方法
Array.from()类数组转为数组
Array.of()转为数组(将一组数字转成真正的数组)
-
filter()数组过滤 参数:第一个数组每一项,第二个下标 第三个数组本身 返回满足条件元素的新数组
var demoArray = [1, 2, 3]; var rs = demoArray.filter(function (value, index, self) { return value > 0; }); console.log(rs); // => [1, 2, 3] //数组去重 var source_arr = ['a', 'b', 'a', 'c', 'a', 'd', '1', 1, '1']; var array_unique = source_arr.filter(function (element, index, array) { return source_arr.indexOf(element) === index; }); console.log(array_unique); console.log(source_arr);
-
find()查找(满足条件的第一个元素)
- ⽤于找出第⼀个符合条件的数组成员。它的参数是⼀个回调函数,所有数组成员 依次执⾏该回调函数,直到找出第⼀个返回值为true的成员,然后返回该成员。如果没有 符合条件的成员,则返回undefined。
var arr=[1,2,6,4,5,6,11]; let arr1=arr.find(function (item,index,arr) { return item>3//返回的是首次满足条件的那个值 }) console.log(arr1);
-
findIndex()查找(返回第一个满足条件的元素的下标)
- 如果所有成员都不符合条件,则返回-1。
let arr2=arr.findIndex(function (item,index,arr) { return item>30 //如果没有找到满足条件的 返回的-1 //如果找到 返回的是首次出现的下标 }) console.log(arr2);
some()判断有一个值满足条件就返回true
every()判断所有值满足条件就返回true
-
includes()包含
- 返回布尔值,有就是true反之false
et a1=[1, 2, 3].includes(20)
-
reduce()求和 参数1:函数 (上一个元素,当前元素,当前元素的下标,数组) 参数:2为数字是几加几
let n=arr.reduce(function (prev,item,index,arr) { console.log(prev,item,index,arr); return prev+item },(参数2)) //如果不写第 2 个参数 执行数组的 length-1如果写了第2 个参数那么执行 数组.length console.log(n);
splice()清空
-
fill()填充
两个参数:1:填充元素 2:开始下标 3:结束下标(不含)
-
只写一个填充全部
let arr9=['a', 'b', 'c'].fill(7); 参数1:fill(7)填充全部 ['a', 'b', 'c'].fill(7, 1, 2);//['a', 7, 'c'] 参数2:fill(要填充的元素,填充的位置起始下标不含末尾下标,)
[...数组1,...数组2] 链接数组
-
copyWithin(开始替换的下标,拷贝的开始下标,拷贝结束的下标)
[1,2,3,4,5,6].copyWithin(2,0,2) ==>[1, 2, 1, 2, 5, 6]
-
方法统计
1. Array.from()转为数组 2. Array.of()转为数组(将一组数字转成真正的数组) 3. filter()数组过滤 参数:第一个数组每一项,第二个下标 第三个数组本身 4.find()查找(满足条件的第一个元素) 5.findIndex()查找(返回第一个满足条件的元素的下标) 6. some()判断有一个值满足条件就返回true 7. every()判断所有值满足条件就返回true 8. includes()包含 9.reduce()求和 参数1:函数 (上一个元素,当前元素,当前元素的下标,数组) 参数:2为数字是几加几 10.splice()清空 <!--括号里写0--> 11.fill()填充只写一个填充全部 两个参数:1:填充元素 2:开始下标 3:结束下标 12.[...数组1,...数组2] 链接数组 13.copyWithin(开始替换的下标,拷贝的开始下标,拷贝结束的下标)