定义数组有两种方法:数组
1.构造函数Array()函数
a. 若是构造函数无参数,则构造一个空数组测试
b. 若是构造函数带有一个参数列表,则每一个参数指定一个元素的值,值的类型是任意的。数组的长度是参数列表中参数的个数this
c.若是构造函数只有一个数值参数,则该数值默认为数组的长度,每一个元素的值预约义为undefined对象
2.数组直接量---初始化效率最高排序
方法是在括号运算符中包含多个值列表,逗号分割。索引
使用注意事项:字符串
1.数组长度是弹性的。回调函数
2.数组下标从0开始,能够为表达式。io
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:同上,从右往左