分类: Java
2020-05-14 16:57:14
数组
数组创建读写和长度
创建数组的方法有两种:一是使用数组字面量,简单来说就是在[]之中列出数组的所有元素:
二是新建一个对象的实例。
数组的读取和写入
读取:存放读入值的变量放在左边,数组元素放在右边。
写入:数组元素在左边,待写值在右边:
数组长度
数组长度指数组中元素的个数,等于最大索引值加1,数组的length属性即数组的长度。数组的长度也可以写入,当写入的值小于数组的实际长度时,数组会被删除一部分。大于实际长度时,数组会在尾部添加一些空的区域。
数组元素的增加:
尾部元素添加元素
最直观的方法就是直接给当前尾部元素后一个位置赋值
第二种方法就是受用push()函数,往数组的末尾添加一个或多个元素,参数是要添加的元素,返回数组长度。
头部添加元素
unshift()方法在数组的头部添加元素,并返回数组新的长度,其余元素自动向索引大的方向移动。
数组元素的删除
尾部元素的删除
第一种刚才介绍的方法,直接修改数组长度的值
第二种是使用delete运算符,delete运算符后接上要删除的元素,但是删除后会有一个空占位符,所以数据的长度保持不变
第三中方法是使用pop(),一次删除一个,并返回被删除的元素。
头部元素的删除
shift()的作用是删除数组头部一个元素并返回该元素,然后所有元素往索引值小的方向移动一位。
数组的遍历和多维数组
forEach()方法 forEach()方法的参数是一个无名字的函数,函数有三个参数,第一个参数是当前的数组元素,第二个参数是当前的索引,第三个参数是数组对象的索引。与for循环的区别是无法用break中断循环。
多维数组的实现
二维数组的创建 创建已知的二维数组
var multiArr = [[1,2,3,4],[5,6,7],[8,9]];
二维数组的读写 二维数组的读写用数组名[][]的方式,第一个中括号内为行数,从0计数,第二个中括号内为列数,也从0计数。 以上面的数组multiArr为例:
查找元素的位置
根据值查找元素的位置,有两个方法:indexOf()和lastIndexOf(),前者从索引小处往大搜索,后者相反。都返回第一次遇到该元素时的索引。
两者都有两个参数,第一个参数为要查找的元素,第二个参数可选,为搜索的起点索引。
第二个参数可以是负数,-1表示倒数第一个元素,-2表示倒数第二个元素,依次类推。如:
数组的合并
concat()实现数组合并,其形式是数组a.concat(数组b),合并之后返回新数组,新数组为数组a后面连接数组b,但是数组a和b不变。
数组倒置
reverse()实现数组倒置,无参数,返回倒置后的数组,同时调用该方法的数组也会被倒置。称为就地逆置。
元素合并
join()将数组的所有元素连接起来组成字符串,参数为元素之间的分隔符,默认逗号。
元素排序
sort()实现数据元素排序,不带该参数表示元素按照ASCII表从小到大排序
提取子数组
slice()返回切割出的子数组,不修改原来的数组。
它有两个整数参数a和b,a表示切割的起点,该点属于子数组;b可选,表示切割的终点,该点不属于子数组。
a和b都可以为负数,如-1表示倒数第一个位置,依次类推。