1. Array对象、Math对象、String对象、Date对象、正则表达式
2. 什么是数组:所谓数组就是内存中开辟出的一片存储空间,换句话说数据就是变量的集合
3. 数组的定义格式
a) 利用构造方法创建数组,
l 格式1:var数组名 = new Array();
l 格式2:var数组名= new Array(个数);
l 格式3:var数组名= new Array(值1,值2,值3…);
b) 使用字面量的方式创建数组
l 格式1:var数组名 = [];
l 格式2:var数组名 = [值1,值2,值3…];
4. 数组定义时的注意事项
a) 数组名必须符合标识符的命名规则
b) 如果使用构造方法创建数组,且在创建数组时初始化,需要注意在最后一个值的后面不可以加逗号
c) 如果使用字面量的形式创建数组,那么在初始化时最后一个元素的后面不建议加逗号,因为在低版本IE中数组的个数会多一个
5. 数组元素的获取:所谓数组元素就是指数组中所包含的每一个值,获取数组元素的格式为:数组名[下标],数组元素的下标是从0开始的,最大值为数组长度减1
6. 数组元素的值的修改,数组名[下标] = 值
7. 数组元素值的删除,delete 数组名[下标],注意delete方法只是清空了数组元素里面的值,但是没有删除该元素
8. 数组元素的赋值,利用循环赋值
9. 数组元素的遍历
a) 利用for循环
b) 利用for in遍历数组元素的下标,格式
for (var下标名 in 数组名 ) {
操作;
}
c) 利用 for of遍历数组元素的值,格式
for (var代表数组元素值的变量of 数组名) {
操作;
}
d) forEach()方法,该方法是ECMAScript5.0后出现的用来变量数组下标和值的一个方法,格式
数组名.forEach(function(ele, index) {
操作;
});
注释:ele表示数组元素的值,index表示数组元素的下标
10. 数组长度的操作:所谓数组长度就是指数组包含的元素的个数,可以利用数组对象的length属性对数组长度进行操作
a) 获取数组长度,格式:数组名.length
b) 扩展数组长度(JS中数组长度是可以改变的),格式:数组名.length = 新的长度(大于原有长度)
c) 缩小数组长度,格式:数组名.length = 新的长度(小于原有长度)
11. 数组的基本操作
a) 求和
b) 求平均值
c) 求最大值
d) 求最小值
e) 求比例
12. 获取n-m间的随机数,包含n,且包含m:parseInt(Math.random()*(m+1-n)+n)
13. 数组对象中常用的方法
a) push
l 作用:在数组最后添加元素
l 格式:数组名.push(要添加的元素);
l 注意:原数组会改变,返回值为新数组的长度
b) pop
l 作用:删除数组最后一个元素
l 格式:数组名.pop();
l 注意:原数组会改变,返回值为被删除的数组元素
c) unshift
l 作用:在数组前面追加值
l 格式:数组名.unshift(要添加的元素);
l 注意:原数组会改变,返回值为新的数组的长度
d) shift
l 格式:数组名.shift():
l 注意:原数组会改变,返回值为被删除的元素
e) concat
l 作用:在一个数组后面追加其它的数组或值
l 格式:数组名.concat(值1,值2,值3…);
l 注意:原数组都不改变,返回值为一个新的拼接之后的数组
f) join
l 作用:将数组拼接成字符串
l 格式:数组名.join(“分隔符”);
l 注意:
Ø 原数组不受影响
Ø join的分隔符可以省略,如果省略,默认为逗号,即1,2,3
Ø 如果想让生成的字符串没有分隔符就在分隔符的位置加空字符串,如join(“”);
g) slice
l 作用:从原有数组中截取新的数组
l 格式:数组名.slice(begin,end);
Ø begin:开始的下标,包含begin
Ø end:结束的下标,不包含end
l 注意
Ø 如果slice里面只有一个参数,那么意味着从该下标开始,一直截取到最后
Ø 参数中允许使用负值,如果是负值,表示从后向前编号,最后一个元素的编号-1
Ø 第一个参数所在位置必须在第二个参数前面,如slice(5,2);返回值为[]
Ø 原数组不受影响
h) splice
l 作用:对数组元素进行增、删、改
l 增的格式:数组名.splice(下标,0,值);,没有返回值,原数组变化
l 删的格式:数组名.splice(下标,个数);,返回值为被删除的元素所形成的数组,原数组变化
l 改的格式:数组名.splice(下标,个数,新值);返回值为被修改的元素所形成的数组,原数组变化,一般下标合格数一一对应,如果不等的话,个数会合并
i) toString
l 作用:将数组元素的值拼接成字符串,用逗号分隔
l 格式:数组名.toString();
l 注意:赋值为数组元素拼接成的字符串,原数组不改变
j) indexOf
l 作用:从前向后查找数组中是否包含要查找的元素
l 格式:数组名.indexOf(要查找的值);
l 注意:如果有要查找的元素,返回值为其对应下标,如果没有返回值为-1
k) lastIndexOf
l 作用:从后向前查找数组中是否包含要查找的元素
l 格式:数组名.lastIndexOf(要查找的元素)
l 注意:如果有要查找的元素,返回值为其对应下标,如果没有返回值为-1
l) sort
l 作用:对数组元素进行排序,默认按照从小到大的顺序进行排序
l 格式:数组名.sort();
l 注意:
Ø 原有数组改变
Ø sort在排序时,将参与排序的所有元素当做字符串处理,如果要使sort根据数值排序,需要给sort添加一个参数,
a) 格式1:升序
sort(function(num1,num2){
return num1-num2
})
b) 格式2:降序
sort(function(num1,num2){
return num2-num1;
})
num1和 num2 可以是"2","3"和 2,3 型的数据