JS 学习笔记 (三) 数组

定义数组有两种方法:

1.构造函数Array()

    a. 如果构造函数无参数,则构造一个空数组

    b. 如果构造函数带有一个参数列表,则每个参数指定一个元素的值,值的类型是任意的。数组的长度是参数列表中参数的个数

    c.如果构造函数只有一个数值参数,则该数值默认为数组的长度,每个元素的值预定义为undefined

2.数组直接量---初始化效率最高

    方法是在括号运算符中包含多个值列表,逗号分割。

 

使用注意事项:

1.数组长度是弹性的。

2.数组下标从0开始,可以为表达式。

3.数组长度必须小于2^32-1,否则,会自动将它转为一个字符串,从而生成与字符串关联的关联数组,即,把数组做为一个对象,数组下标做为对象属性的名字,不在是数组下标。

 

数组操作:

push() 给数组添加元素

pop()删除并返回数组最后一个元素

unshift() 在数组头部插入一个元素,可以包含多个参数,此时在数组头部一次性插入多个参数,顺序同参数顺序

shift() 将元素移出数组,并返回元素值,

concat()连接数组----返回新创建的数组

splice() 插入、删除或替换数组元素,第一个参数为操作的起始下标位置,第二个参数指定要删除元素的个数,第三个及后面的所有不确定参数为将要插入的元素,无参数时不做操作,一个参数时删除指定下标开始的所有,返回值为被删除后的子数组;如果第一个参数为负值,从右往左定位,如果第二个参数为负,按0算。

slice() 截取数组,两个参数,分别为起始和结束的下标,返回截取后的数组;如果仅指定一个参数,截取从指定下标起、到结束的数组。参数为负数时,从右往左数。第一个参数大于数组长度时,不做操作,第二个参数大于数组长度时,按数组长度算。

sort() 排序

reverse() 倒序

toString() 数组转字符串,逗号分割

join() 将数组元素连接起来以构建一个字符串,参数为连接数组元素的字符串

 

 

迭代:

foreach:  语法:array.forEach(callbackfn[,thisArg])

              callbackfn:必须参数,最多可以接收三个参数的函数,对于数组中的每个元素,forEach都会调用callbackfn一次。

              thisArg:callbackfn中可引用的this对象

         回调函数说明:function callbackfn(value,index,array)

                      value  数组元素值,index  数组元素的数字索引   array   包含该元素的数组对象

every:确定数组的所有成员是否满足指定的测试,语法同foreach

 map:

filter:返回回调函数中满足指定条件的数组

reduce:对数组中所有元素调用指定回调,该回调函数的返回值为累积结果,并且在下一次调用该回调时做为参数传递。

reduceRight:同上,从右往左

 

posted @ 2019-08-02 11:34  码农拔萝卜  阅读(161)  评论(0编辑  收藏  举报