JS数组API总结及其方法重构封装
大前端基础之JS数组API总结及其方法重构封装 四.1、在JS中什么叫数组: 数组是数据的有序集合,每个值叫做一个元素,简称元,而每个元素在数组中有一个位置,以数字表示,称为索引,从0开始。js的数组是无类型的,数组元素可以是任意类型,同一个数组中的不同元素可能是对象或数组。数组元素的索引不一定要连续,元素之间可以有空隙,叫做稀疏数组 。每个数组都具有一个length属性。针对非稀疏数组,length属性就是数组元素的个数,针对稀疏数组,元素的length属性比所有元素的索引要大。 四.2、数组的构建方式 1)、字面量的创建;var arr=[ ]; 2)、构造函数创建;var arr=new Array(); 如果通过这个方式创建数组,参数仅有一个时,且这个参数是正整数的时候,不能是负数或者小数,则表示创建一个具备该正整数长度的数组,里面有这个长度若干个空元素,如果不是数值,这个数据就会作为该数组的第零个元素,长度为1 四.3 JS数组的特点; 1)arr.length 数组的长度,元素的个数,长度可被修改,最大下标为长度减1,仅记录下标的个数,不包含属性的数量 2)arr[arr.length]=20,在数组最尾部添加一个元素 3)在对象中属性名填入任何内容都会隐式转换成字符,在数组中所有的下标都会隐式转换成number(NaN),不能转换的就会默认添加为数组的属性名 4)数组不可以用点语法获取下标变量,但是可以用点语法获取属性 5)当给数组添加键值对的时候,数组长度并不会改变,调用的时候用点语法
四.4:数组的API;总的来说数组的API有以下几个,那下面小编就介绍几种在JS中经常用到的API和数组方法重构(其中arr参数表示为数组,item参数表示为元素,index为索引); push()+pop(), shift()+unshift(), forEach(), map(), some(), every(), filter(), reduce()+reduceRight(), indexOf()+lastIndexOf(),join(), sort(), slice(), splice(), concat(), reverse(), Array.form(), Array.of(), find()+findIndex(), entries()+keys()+values(), includes()