ES6 --数组的循环,数组新增方法

482 阅读2分钟

ES6数组新增的循环

arr.forEach/map/filter/some/every/reduce/reduceRight/for..of(function(val,index,arr){
},this 指向)
第一个参数:循环出来的值 val
第二个参数:循环出来的值的索引 index
第三个参数:数组本身 arr
arr.map()
正常情况下,需要配合 return,返回是一个新的数组
若是没有 return,相当于 forEach
map 方法一般会用在整理数据结构上,在数据交互的时候,根据需求我们需要改一些前端部分需要的数据
形式
filter()
用来过滤一些不合格的元素,如果回调函数返回的是 true,那么自然会被留下来,为 false 的就会被过滤掉
arr.some()
查找一个字符串是否存在 返回一个布尔值
arr.every()
查找数组中的每一项,所有元素都要符合条件,才返回 true
reduce()
从左往右运算→求数组的和、差、积、阶乘
reduceRight()
从右往左运算←上面这两种方法可以用来求数组的和、阶乘、幂运算;接受 4 个函数参数
ES2017 新增的幂运算符(**) 幂
let arr = [2,3,2];

let newArr = arr.reduce((prev,curr,index,arr)=>{

return Math.pow(prev,curr);

return prev**curr;

});

console.log(newArr); // 6

for...of...
arr.keys() 数组下标
arr.entries() 数组某一项
let arr=[melon,apple,peach,pear];
for(let val of arr){
    console.log(val)//输出每一项
}
for(let index of arr.keys()){
    console.log(index) //输出每一项的索引
}
###### for(let item of arr.entries()){
    console.log(item)//输出三个数组
}
for(let [key,val] of arr.entries()){
    console.log(key,val)
}

数组新增功能

Array.from
Array.from()方法就是将一个类数组对象或者可遍历对象转换成一个真正的数组。
所谓类数组对象,最基本的要求就是具有 length 属性的对象
如果将上面代码中 length 属性去掉呢,答案会是一个长度为 0 的空数组
要将一个类数组对象转换为一个真正的数组,必须具备以下条件:
1、该类数组对象必须具有 length 属性,用于指定数组的长度。如果没有 length 属性,那么转换后的数组是一个空数组。
2、该类数组对象的属性名必须为数值型或字符串型的数字该类数组对象的属性名可以加引号,也可以不加引号
Array.from 参数是一个真正的数组
Array.of
把一组值,转成数组
                        let arr=Array.of('apple','banana',"purple");
			console.log(arr)//) ['apple', 'banana', 'purple']
arr.find()
查找,找出第一个符合条件的数组成员,如果没有找到,返回 undefinedarr.findIndex(): 找的是位置,没找到返回-1
arr.fill()
arr.fill(value, start, end)
value:填充值。
start:填充起始位置,可以省略。
end:填充结束位置,可以省略,实际结束位置是 length-1。Length-1=element(max)
arr.includes()
查看数组中是否包括某个值 返回布尔值