本帖最后由 pidtfork 于 2020-10-28 19:03 编辑
JavaScript数组
数组是值的有序集合。每个值叫做一个元素,二每个元素在数组中有一个位置,已数组表示,称为索引。
JavaScript数组是无类型的,数组元素可以是任意类型,并且同一个数组中的不同元素也可以死不同类型。数组元素甚至可以是对象或者其他数组。
第一个元素的索引为0,最大的索引为 2的32次方减2为4294967294个,最大的元素个数为最大索引加1
每个数组都有一个length属性,它表示数组最大长度,比最大索引要大。
这也就是说,定义一个数组,你可往里面放任意类型的和任意长度的数据。不像C语言那样,定义10个长度的int型数组那就只能存10个长度的int型数据,其他类型就会强制类型转换。
JavaScript你随时改变数组长度,如果定义了一个 Array(10)也就是长度10的数组,你可以继续往里面后面添加任意类型的数据。
创建数组
直接量创建:在方括号中将数组元素用逗号隔开即可
Array构造函数:三种方式调用构造函数
//直接量创建,数组可以是任意类型
vara =[1,2,undefined,"hello",{"b":100},function(){console.log("array");},null];
//使用Array构造函数
//无参调用 创建一个没有任何元素的空数组 和这样操作一样[]
vararr = new Array();
//一个参数指定长度,创建一个长度为10的数组空间,数组中没有任意元素
vararr = new Array(10);
//大于两个参数,指定数组的初始值
vararr = new Array(1,2,3,4,5,6,7,8,9)
Array 对象方法
• push() 向数组的末尾添加一个或更多元素,并返回新的长度。
• unshift() 向数组的开头添加一个或更多元素,并返回新的长度。
• pop() 删除并返回数组的最后一个元素
• shift() 删除并返回数组的第一个元素
• join() 把数组的所有元素放入一个字符串。元素通过指定的分隔符进行分隔。
• splice() 删除元素,并向数组添加新元素。
• slice() 从某个已有的数组返回选定的元素
• concat() 连接两个或更多的数组,并返回结果。
• sort() 对数组的元素进行排序
• reverse() 颠倒数组中元素的顺序。
• toString() 把数组转换为字符串,并返回结果。
数组的方法除了最后几个用的少一点,其他的都经常用到,尤其前面几个如push、pop这些,经常在处理数据的时候用到,非常使用的方法。
其他
虽然new Array() 构造函数可以通过传入多个值设置数组的初始值,实际使用中要初始化数组这个方法并不方便,比如我们要长度16的数组初始化为0,这样并不方便,不小心就多写了或者少写了。
而JavaScript中并没有数组初始化的方法,我们只能用 for 循环去给数组一一赋值。
数组里可以存任意类型值,在写回调函数时,可以使用push方法将函数放到数组中,然后遍历数组执行里面的函数。
concat连接两个数组是返回一个全新的数组,不是在第一个数组的基础上加上后面的数组。
前四个方法可以将数组变成一个堆栈形式,可以做到先进先出,先进后出。
for in 语法也是可以作用于数组的,但是一般不这么用
数组方法中ES6和部分ES5的方法是不支持的如forEach、map等方法
|