【JS系列4】 javascript 数组
1. 创建方法
- 空数组
var obj = new Array();
- 指定长度的数组
var obj = new Array(size);
- 指定元素数组
var obj = new Array(元素1,元素2 ... ,元素N);
- 单维数组
var obj = [元素1,元素2 ... ,元素N];
- 多维数组 “var obj = new Array([数组序列1],[数组序列2],[数组序列N]);
2. 基本操作
2-1 存储数组元素
- 单位数组 数组名[下表索引]
- 多维数组 数组名[下表索引][内层元素下标]
- 特性 数组长度是弹性的,可自由伸缩 数组下标从0开始 下标类型:数值,非数值(转为字符串,生成关联数组,下标将作为对象的属性名字)
2-2 增加数组
- 使用“[]”运算符指定一个新下标
2-3 删除数组
- delete 数组名[下标] 注:数组长度不会改变
2-4 遍历数组
- for()
- 遍历对象 for(var 属性 in 对象)
3. 数组属性
- constructor 引用数组对象的构造函数
- length 返回数组的长度
- prototype 通过增加属性和方法扩展数组定义
4. ECMAScript 3 方法
4-1 添加
- push() 在数组末尾添加数组
- unshift() 在数组头部添加元素
- concat() 合并两个数组
4-2 删除
- pop()删除并返回数值的最后一个元素
- shift() 删除并返回数组的第一个元素 注:pop为栈方法先进后出 shift为队列方法先进先出
4-3 字数组
-
splice() 删除任意数量的项:①要删除的起始下标 ②要删除的项数 在指定位置插入指定的项:①起始下标 ②0(不删除任何项)③要插入的项 替换任意数量的项:①起始下标 ②要删除的项数 ③要插入的项
-
slice() 功能:从已有数组中选取部分元素构成新数组 参数: ①返回项的起始位置 ②返回项的结束位置 特性:如果是负数,则用数组长度加上该值确定位置 起始位置实为数组的实际下标 结束位置的实际下标为结束数值减1
4-4 数组排序
- reverse() 颠倒数组中元素的顺序
- sort() 功能:对字符数组或数字数组进行排序 特性:默认为按字符串比较 按数值大小比较,需要函数支持(升序)
4-5 数组转换
- toString() 转换为字符串并返回
- toLocaleString() 转换为本地格式字符串并返回
- join() 用指定的分隔符分割数组并转换为字符串
5. ECMAScript 5 方法
5-1 位置方法
- indexOf()从数组的起始位置开始查找
- lastIndexOf()从数组的结束位置开始查找
5-2 迭代方法
- every 如果该函数对每一项都返回true,则返回true
- filter 返回值为true的所有数组成员
- forEach 无返回值
- map 返回每次函数调用的结果数组
- some 有任意一项返回true,则返回true 注:array.every(element,index,array),参数1:要遍历当前数组的元素,参数2:遍历的数组序号,参数3:遍历的数组。
5-3 缩小方法
- reduce 从数组起始位开始遍历
- reduceRight 从数组末尾开始遍历 注:array.reduce(function(previous,current,index,array),initValue) initValue == previous 若省略initValue默认把数组第一个元素当做previous