1、创建数组:
(1) var arr = [1,2,3];或者 arr = [ ]
(2) var arr = new Array("red","blue");
(3)var arr =new Array(3);
2、数组的长度:arr.length
3、检测数组
(1)arr instanceof Array
特点:该方法限定必须在一个网页或者一个全局作用域。如果一个网页有多个框架,那么该网页就有多个全局环境,每个执行环境的Array构造函数不同。如果把一个数组从一个框架传入另一个框架,则传入的数组与在该框架中创建的数组具有不同的构造函数。
(2)Array.isArray(arr)
特点:该方法目的就是确定某个值到底是不是数组,不管它在哪个全局执行环境。
4、数组转换方法
(1)arr.valueOf() 返回数组本身
(2)arr.toString() 返回数组的每项的字符串形式拼接而成的一个以逗号分隔的字符串。
5、数组操作
(1)栈:数组尾部添加,尾部删除。(原数组改变)
arr.push("black") arr.pop()
(2)数组:尾部添加,头部书删除。
arr.push("red","black") arr.shift()
(3)数组头部添加
arr.unshift("red","black")
6、数组排序
(1)arr.reverse() 重新排序
(2)arr.sort();
特点:将数组的每一项调用toString()方法,然后进行排序。
因此:为了确保大小顺序排序,
sort可以接受一个函数作为参数,比较函数接受两个参数
如果第一个参数应该位于第二个参数之前,则返回负数;如果两个数相等,则返回0;如果第二个参数应该位于第一个参数之前,则返回正数。
7、操作方法
(1)slice() 不改变数组的长度
(2)splice() 改变数组的长度
(3) indexOf()
arr.indexOf("red") 返回red的索引
(4)lastIndexOf()
8、迭代
(1)every() 对数组的每一项运行该给定函数,当该函数的每一项都返回true,则返回true。
arr.every(function(item, index, array){ return item>3 })
(2)some() 对数组的每一项运行该函数,只要该函数的一项返回true,则返回true。
(3) filter() 对数组的每一项运行该函数,返回该函数会返回true的项组成的数组。
(4) forEach() 对数组的每一项运行该函数,没有返回值
(5) map() 对数组的每一项运行该函数,返回运行该函数的结果组成的额数组。
9、归并 reduce() 和reduceRight()
arr.reduce(function(pre,cur,index,array){ return pre+cur })