- Array对象、Math对象、String对象、Date对象、正则表达式
- 什么是数组:所谓数组就是内存中开辟的用来存储大量数据的存储单元,换句话说数据就是变量的集合,数组里面的每个数据都被称为数组元素
- 数组的分类:一维数组、二维数组、多维数组
a) 一维数组:就是指元素的下标只有一个
b) 二维数组:就是指元素的下标有两个 - 数组的定义
a) 使用构造方法创造数组,格式为var数组名= new Array();
b) 使用字面量的形式创造数组,格式为var数组名= []; - 数组的赋值1
a) 初始化赋值,就是指在定义数组的同时为数组赋值,格式为:var数组名= new Array(值1,值2,值3,值4….);注意最后一个元素的后面不可以加逗号
b) 如果是字面量形式定义的数组,初始化格式如下var数组名= [值1,值2,值3…];注意最后的元素后面不建议加逗号 - 数组赋值的注意事项:JS数组中可以储存不同类型的数据
- 数组的赋值2:利用循环动态赋值:注意利用循环赋值涉及到如何表示数组中的每个元素,元素的表示方法为:数组名[下标],另外注意下标的起始值为0,最大值为数组长度减1
- 如何修改数组元素的值,格式:数组名[下标] = 新值,注意JS数组的长度是可以改变的如果要扩展数组长度,方法为:数组名.length = 值;如果要减小数组的长度,方法为:arr.length = 值;(需要注意如果要减小数组的长度,新的值需要比原来的值小)
- 数组元素的遍历
a) 形式1:基本for循环
b) 形式2:for in(注意,for in这种形式真正遍历的是元素的下标),格式
for (var元素下标in 数组名) {
语句
}
c) 形式3:for of(注意,for of这种形式遍历的是数组元素的值),格式
for (var元素of 数组名) {
语句;
}
d) 形式4:forEach,(注意,forEach这种形式既可以遍历元素的下标,也可以遍历元素的值,它需要用到一个匿名函数,该函数需要两个参数,第一个参数表示值,第二个参数表示下标)格式如下:
数组名.forEach(function(ele,index) {
语句;
}); - 数组的基本操作
a) 求和
b) 求平均值
c) 求最大值、最小值 - 随机数的创建,需要用到Math对象的random方法,格式Math.random();需要注意的是它的返回值为0-1间的小数,且包含0,不包含1,注意如果要获取m-n间的整数,需要用到如下格式parseInt(Math.random()*(n-m)+m)
- 数组常见排序方法
a) 冒泡排序法
b) 选择排序法 - 数组对象常见方法
a) push()方法
作用:在数组末尾追加元素
格式:数组名.push(值1,值2,值3….);
返回值:新的数组长度
注意:原数组内容被改变
b) pop()方法
作用:删除数组最后一个元素
格式:数组名.pop();
返回值:被删除数组元素
注意:原数组内容被改变
c) unshift()方法:
作用:在数组前面插入元素
格式:数组名.unshift(值1,值2,值3….);
返回值:新的数组长度
注意:原数组被改变
d) shift()方法:
作用:删除数组前面第一个元素
格式:数组名.shift();
返回值:被删除的元素
注意:原数组被改变
e) join()方法:
作用:将数组中的元素拼接成字符串(换句话说,就是将数组元素变成字符串)
格式:数组名.join(“分隔符”);默认的分隔符为逗号,如果要将数组元素直接拼接在一起,不须分隔符只需要在join的小括号里面写一个双引号就可以了
返回值为:数组元素拼接出来的字符串
注意:原数组不变
f) reverse()方法:
作用:颠倒数组元素的位置
格式:数组名.reverse();
返回值:调到后的新数组
注意:原数组被改变
g) concat()方法:
作用:将数组和其它的数组或值进行拼接
格式:数组名1.concat(值1,值2…);
返回值:拼接之后的新的数组
注意:原有数组都不改变,在拼接的时候,试讲concat括号里面的数组连接在调用concat方法的数组的后面
h) slice()方法:
作用:从原数组中截取一个新的数组
格式:数组名.slice(begin,end);说明:begin表示开始的下标,end表示结束的下标,注意包含begin但是不包含end,如果使用如下格式:属性值.slice(开始的下标);表示从原有数组中在开始下标处进行截取,直到最后
返回值:截取出来的新数组
注意:原数组不受影响
i) splice()方法:
作用:对数组进行增、删、改操作
增加元素的格式:数组名.splice(要放在的位置,0,新增的值)
删除元素的格式:数组名.splice(要删除的元素的起始下标,要删除的元素的个数);
修改元素的格式:数组名.splice(要修改的元素的下标,个数,新的值);
注意:原数组被改变
j) toString()方法:
作用:将数组变成字符串
格式:数组名.toString();
注意:原数组不改变
k) indexOf()方法:
作用:从头向后查找元素的下标,如果找到返回对应下标,如果找不到返回-1
注意:原数组不改变
l) lastIndexOf()方法:
作用:从后向前查找元素的下标,如果找到返回对应下标,如果找不到返回-1
注意:无论indexOf还是lastIndexOf都是在查找满足条件的第一个元素,如果找到这个元素,返回对应下标
m) sort()方法
作用:对数组元素进行排序,需要注意的是该方法在比较时,会把数组中的所有元素当做字符串,按照字符串的比较方法进行比较(比较ASCII码值),如果要按照数值大小进行比较需要加参数,
格式1(从小到大):
数组名.sort(
function (num1, num2) {
return num1-num2
}
);
格式2(从大到小):
数组名.sort(
function (num1, num2) {
return num2 –num1;
}
);