js 数组

来源:互联网 发布:linux开启防火墙命令 编辑:程序博客网 时间:2024/06/06 02:53

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   作用:删除数组前面的第一个元素

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 型的数据

 


原创粉丝点击