文章目录
数组
数组是一组数据的集合,其中每个数据被称作元素,在数组中可以存放任意类型的元素。数组是一种将数据存储在单个变量名下的优雅方式。
数组的创建的方法
创建空数组
//创建一个名为obj的空数组
var obj=new Array();
创建指定长度的数组
//创建一个名为obj,长度为5的空数组
var obj=new Array(5)
创建指定元素的数组
//创建一个名为obj,数字元素为1,2,3,4,5的数组。数组中的元素可以为任意类型
var obj=new Array(1,2,3,4,5)
创建单维数组
//创建一个名为obj,元素为1,2,3,4,5的单维数组
var obj=[1,2,3,4,5]
创建多维数组
创建一个名为obj,元素为[1,2],[3,4],[5,6]的二维数组
var obj=new Array([1,2],[3,4],[5,6])
数组的基本操作
存取数组元素
//单维数组存取:令obj数组中第3位元素等于5
var obj=[1,3]
obj[2]=5
console.log(obj);//结果为obj=[1,3,5]
//多维数组存取:令二维数组obj中的第三个元素,第三个元素数组的第二个元素等于5
var obj=[[1,2],[3,4],[4]]
obj[2][1]=5
console.log(obj);//结果为obj=[[1,2],[3,4],[4,5]]
特性
1.数组的长度是弹性的,可自由伸缩。
2.数组下标从0开始。
3.下标类型可以为数值,也可以为非数值。为非数值时会转换为字符串,生成关联数组,并将下标作为对象属性的名字。
增加数组
//使用“[]”运算符指定一个新的下标
var obj=[1,3]
obj[2]=4
console.log(obj);//结果为obj=[1,3,4]
删除数组
//delete数组名[下标]
var obj=[1,3,4]
delete obj[2]
console.log(obj);//结果为obj=[1,3]
遍历数组
//for(var数字元素变量in数组)
var obj=[1,3,4]
for(var i in obj){
console.log(obj[i])//输出obj的每一个元素
}
数组的属性
constructor
引用数组对象的构造函数
length
返回数组长度
prototype
通过增加属性和方法扩展数组定义
ECMAScript3的数组方法
添加
push():在数组末尾添加数组
unshift():在数组头部添加元素
concat():合并两个数组
删除
pop():删除并返回数组的最后一个元素
shift():删除并返回数组的第一个元素
子数组
splice()
删除任意数量的项
第一个参数:要删除的起始下标
第二个参数:要删除的项数
在指定位置插入指定的项
第一个参数:起始下标
第二个参数:0(不删除任何项)
第三个参数:要插入的项
替换任意数量的项
第一个参数:起始下标
第二个参数:要删除的项数
第三个参数:要插入的项
slice()
功能:从已有数组中选取部分元素构成新的数组
第一个参数:返回项的起始位置
第二个参数:返回项的结束位置
特性:
1.如果是负数,则用数组长度加上该值确定位置
2.启示位置实为数组的实际下标
3.结束位置的实际下标为结束数值减1
数组排序
reverse()
颠倒数组中元素的顺序
sort()
功能:对字符数组或数字数组进行排序
特性:默认为按字符串比较;按数值大小比较需要函数支持(升序)
数组转换
toString():转换为字符串并返回
toLocalString():转换为本地格式字符串并返回
join():用指定分隔符分隔数组并转换为字符串
ECMAScript5的数组方法
位置方法
indexOf:从数组的起始位置开始查找
lastIndexOf:从数组的结束位置开始查找
参数:
第一个参数:要查找的项
第二个参数:标识查找起点的位置索引
迭代方法
every:如果该函数对每一项都返回true,则返回true。
filter:返回值为true的所有数组成员
forEach:无返回值
map:返回每次函数调用的结果数组
some:有任意一项返回true,则返回true
参数:
接收参数:
第一个参数:要在每一项上运行的函数
第二个参数:运行该函数的作用域对象
代入参数:
第一个参数:数组项的值item
第二个参数:该项在数组中的位置index
第三个参数:数组对象本身array
缩小方法
reduce:从数组起始位开始遍历
reduceRight:从数组末尾开始遍历
参数:
接收参数:
第一个参数:每一项上调用的函数
第二个参数:作为缩小基础的初始值
代入参数:
第一个参数:前一个值prev
第二个参数:当前cur
第三个参数:项的索引index
第四个参数:数组对象array