当前位置: 首页 > Web前端 > HTML5

ES6(三)——数组

时间:2023-04-05 23:12:02 HTML5

目录数据的重要功能【遍历、转换、生成、查找】数组遍历ES5中有多少种遍历方法?forloopforEacheveryfor-inES6addsfor-of为什么es6要加一个for-of?for-of不能直接遍历对象吗?——关于可迭代接口的优缺点伪数组转数组什么是伪数组?ES5转换ES6转换创建新数组ES5ES6Array.fromArray.ofArray.prototype.fillFind数组中的元素ES5ES6Array.prototype.findArray.prototype.findIndexFunction参数Array.from(arrayLike,mapFn,thisArg)Array.of(element0[,element1...])Array.fill(value,start,end)Array.find(callback[,thisArg])Array.findIndex(callback[,thisArg])ES6-ES10学习布局数据的重要函数【遍历、转换、生成、搜索】数组遍历ES5有多少种方法?constarr=[1,2,3,4,5]for循环for(leti=0;i第一个参数:伪数组,必填
第二个参数:遍历函数,非必填
第三个函数:thisobject,不是必须的一个例子:初始化一个长度为5的数组//ES5letarray=Array(5)array.forEach(function(item){item=1})console.log(array)//[empty×5]forEach只会遍历存在的元素//使用for循环遍历,但还是先声明,再赋值for(leti=0,len=array.length;i1)console.log(array)//[1,1,1,1,1]//ES6//使用Array.from可以达到初始化填充的效果letarray=Array.from({length:5},function(){return1})console.log(array)//[1,1,1,1,1]//上面第一个参数之所以能传{length:5}是因为第一个参数伪-array要传入//使用Array.fill快速初始化填充letarray=Array(5).fill(1)console.log(array)//[1,1,1,1,1]新建一个arrayES5letarray=Array(5)letarray=['','']//不能定义长度,每个只能初始化为空字符串ES6Array.fromletarray=Array.from({length:5})大批。ofletarray=Array.of(1,2,3,4,5)//参数是相应放入的元素,一个参数可以是多个console.log(array)//[1,2,3,4,5]Array.prototype.fillletarray=Array(5).fill(1)//参数就是按照这个放入的元素,一个参数可以是多个console.log(array)//[1,1,1,1,1]Array.fill(value,start,end)
第一个参数:填充值
第二个参数:起始位置,默认为数组的开始
第三个函数:结束位置,默认为数组的结尾
[start,end)letarray=[1,2,3,4,5]console.log(array.fill(8,2,4))//[1,2,8,8,5]查找数组中的元素ES5查找元素包括元素是否在数组中,也包括按照一定条件过滤//一letarray=[1,2,3,4,5]letfind=array.filter(function(item){returnitem===3})console.log(find)//[3]//找到则返回一个数组,根据数组的长度判断数组中是否有元素letfind=array.filter(function(item){returnitem%2===0})console.log(find)//[2,4]//如果数组中的数据很大,有没有就好了,不是所有的数据//2//也可以用every来判断,但是我们需要定义附加变量letisExtarray.every(function(item){if(item===3){isExt=itemreturnfalse}returntrue})console.log(isExt)//3ES6Array.prototype.find返回它的值,如果找到搜索元素,并返回undefinedletarray=[1,2,3,4,5]letfind=array.find(function(item){returnitem===3})console.log(find)//3---当前值letfind1=array.find(function(item){returnitem===6})console.log(find1)//undefined---notfoundletfind2=array.find(function(item){returnitem%2===0})console.log(find2)//2---找到2就不再继续查找。Array.prototype.findIndex找到搜索元素并返回其索引位置,如果找不到则返回-1。让find=array.findIndex(function(item){returnitem%2===0})控制台。日志(查找)//1---索引位置函数参数Array.from(arrayLike,mapFn,thisArg)第一个参数:伪数组,必须
第二个参数:遍历函数,不需要
第三个函数:this对象,optionalArray.of(element0[,element1...])参数:任意个参数,成为数组的元素Array.fill(value,start,end)第一个参数:填充值
第二个参数:起始位置,默认为0
第三个函数:结束位置,默认为this.length
[start,end)Array.find(callback[,thisArg])th参数:回调函数,接收三个参数,element,index,array
第二个参数:thisobjectArray.findIndex(callback[,thisArg])第一个参数:回调函数,接收三个参数,element,index,array
第二个参数:本对象学习布局