关于数组的一些随写!
定义和认知:
数组可以简单的理解成一组变量的集合,类似MOBA游戏的开房间机制,用一个房间号(数组名)存放多个变量的值得方式,在内存中以一组内存的集合体形式实现,常见的定义数组的方式有两种:1.使用自定义函数的方式NEW一个出来:
let arr1 = new Array()
上述方法中,new,A均为必须,不能省略或小写,括号里可直接写变量值,或者定义上限Array(5)
2,使用字面量定义:
let arr2 = [ ];
上述方法相较于1会简略很多,但实际功能却是一致的,至此,括号家族基本全用上了
一些方法:
.length就是数组的长度,一个变量就是代表一个单量,用法类似字符串,
.concat() / .indexOf() / .lastIndexOf() / .slice()用法和字符串类似,这里就不再赘述,感兴趣的小伙伴可以去看看我的第一篇博,
.copyWithin(),从数组的指定位置拷贝元素到数组的另一个指定位置中,该方法括号内可接3个量,第一个数为自0开始的目标位置,比如2则是前3个arr【】,第二个数是复制元素的起始位置,注意,此处起始不包括第一个数的位置,即去掉前3个arr【】后的数组索引位置,第三个数为复制的结束位置,默认情况下该数应<=复制位数,如为负数则反着复制,第二个数为0时表示添加
.fill(),使用一个固定值来填充数组,首先得定义数组最大上限,随后将数组内的empty换成括号内的量
.includes(),从数组中检查指定的数据是否存在,存在返回true,不存在返回false,此方法在检测数组内部有无重复量有特别的效果,括号内部跟检测值
.isArray()方法,用于检查指定的对象是否是数组,用法:Array.isArray(),括号内跟检测名
.join()方法,用于将一个数组根据某个字符串拼接成字符串,该方法不传参数,默认是根据逗号拼接,使用该方法后数组内的变量将以字符串的形式传现,可使用''的连接符
.push(),向数组的末尾添加一个或更多元素,在最后一个变量后面增加一个变量,变量的值为括号内的值
.pop(),删除数组的最后一个元素并返回删除的元素,括号内不需填写,自动删除最后一个值
.unshift(),向数组的开头添加一个或更多元素,括号内的值即添加的值,可写多个,用逗号隔开
.shift(),删除并返回数组的第一个元素,用法同上
.reverse(),反转数组的元素顺序,括号内不接值,仅反转不排序
.splice(),从数组中添加或删除元素,该方法需要传两个参数:第一个是起始位置,第二个是删除长度
如果第二个参数不传,就表示从起始位置往后全部删除,删除的是原始数组里面的数据,返回的是删除的数据
该方法也可以传三个参数,第三个参数就是删除部分插入的新内容
.toString(),把数组转换为字符串,运作效果等同于默认不加连接符的.join()
.sort(),排序,注意会改变数组,即改变原数组不会反回新数组,通过函数可以改变升序降序,字母,数字的排序方式,默认排序方式为按字母的升序排序,如果是数字按字母的升序排列的话将会出现一些bug,括号里接函数,由函数定义排列顺序。