JavaScript基础知识梳理--数组
1、创建方法
空数组:var obj=new Array();
指定长度数组: var obj=new Array( size );
指定元素数组 : var obj=new Array( 元素1,元素2,....);
单位数组:var obj=new Array[ 元素1,元素2,元素3,...,元素N];
多维数组:var a=new Array( [数组1],[数组2],[数组3],...,[数组N] );
2、基本操作
存取数组元素:
单维数组:数组名[ 下标索引 ]
多维数组:数组名[外层数组下标][内层数组下标]
特性:数组长度是弹性的,可自由收缩
数组下标从0开始
下标类型--数值
--非数值--转为字符串
--生成关联数组
--下标作为对象属性的名字
数组元素可以添加到对象中
增加数组元素: 使用[]运算符指定新的下标
删除数组:delete数组名[下标]
遍历数组:for( var 数组元素变量 in 数组 );
3、数组属性
Constructor: 引用数组对象的构造函数
Length:返回数组的长度
Prototype:通过增加属性和方法扩展数组定义
4、ECMAScript 3方法
添加:
Push()---在数组末尾添加数组
Unshift()---在数组头部添加数组
Concat()---合并两个数组
删除:
Pop()---删除并返回数组的最后一个元素
Shift()---删除并返回数组的第一个元素
子数组:
Splice()---删除任意数量的项--> splice(要删除的下标,要删除的项数);
---在指定位置插入指定的项--> splice(起始下标,0,要插入的项)-----参数0表示不删除任何项
---替换任意数量的项-->splice(起始下标,要删除的项数,要插入的项)
Slice()---功能: 从已有的数组中选取部分元素构成新数组
---slice(返回项的起始位置,返回项的结束位置)---(1,如果是负数,则用数组长度加上该值确定位置。2,起始位置为数组的实际下标。3,结束位置的实际下标为结束值减一)
数组排序:
Reverse()---颠倒数组中元素的顺序
Sort()---功能:对字符数组或数字数组排序
---特性: 默认为字符串比较
按数值大小比较(需函数支持--升序)
function compare(value1,value2){ if(value1<value2){ return -1; }else{ Return 0; }}
数组转换:
toString()---转换为字符串并返回
toLocalString()---转换为本地格式并返回
Join()---用指定分隔符分割数组并转换为字符串
5、ECMAScript 5方法
位置方法:
indexOf(v1,v2)---从数组中起始位置开始查找
lastIndexOf(v1,v2)---从数组的结束位置开始查找
参数:v1要查找的项,v2表示查找七点
迭代函数:
every()---如果该函数对每一项都返回true,则返回true
Filter()---返回值为true的所有数组成员
forEach()---无返回值
map()---返回每次函数调用的结果数组
some()---有任意一项返回true,则返回true
参数: 接收参数(v1--要在每一项上运行的函数,v2--运行该函数作用域对象)
传入参数(v1--数组项的值item,v2--该项在数组中的位置,v3--数组对象本身)
缩小方法:
reduce()---从数组起始位置开始遍历
reduceRight()---从数组末尾开始遍历
参数:接收参数(v1--每一项上调用的函数,v2--作为缩小基础的初始值)
传入参数(v1--前一个值prev,v2--当前值cur,v3--项的索引index,v4--数组对象array)