什么是数组对象?
-数组是JavaScript的基本语句特性。
-数组是对象的特殊形式。(或者说数组是特殊的对象)
使用typeof 返回的是object对象
-数组继承于object。
-严格来说,数组是一种数据结构,而不是数据类型。
-简单来说,数组是一堆数据的统称,用于存储数据,相当于变量。还可以方便查找。
例如:统计一个班级的基本信息或统计团队信息的时候,要是一个个的记录就不太理想,可以有效的利用数组来进行优化,减少繁琐的过程。
-数组具有length属性
length 是一个可读可写的整数,声明了数组中的元素个数。 我们可以通过length得知数组的长度和数目。 如果数组中的元素是不连续的,它就是比数组中的最后—个元素的下标大1的整数。 改变这个属性的值将截断或扩展数组。
-数组是值的有序集合。每一个值叫做一个元素,而每个元素在数组中都有一个位置,以数字的形式表示出来,称为索引。
数组具有相对应的属性和属性值,也就是索引 或者 称为下标,可以方便访问元素的数据。
JavaScript数组的索引是基于0的32位数值:第一个元素的索引为0,而最后一个元素的索引就是length-1。
var arr=[1,2,3,4]; // 访问第一个 console.log(arr[0]);//1 // 访问最后一个 console.log(arr[arr.length-1]);//4
-JavaScript数组是无类型的:数组元素可以是任意类型的,而且同一个数组里面不同的元素也有不同的类型。
数组的元素甚至有可能是对象或者其他的数组,这允许创建复杂的数据机构,例如对象的数组和数组的数组。
1.创建数组
-创建数组最简单的方法是使用数组直接量,就是在方括号内将数组元素用逗号分隔开。
以下的都是数组:
var empty =[]; //没有元素的数组 var arr=[1,2,3,4,5]; //有5个数值的数组 var misc=[1.1,false,"i",];// 3个不同类型的元素和一个结尾的逗号
数组直接量里面的值不一定都是常量,可以是任意的表达式:
var a=123; var b=[a,a+1,a+2];
数组内部可以包含对象直接量或者其他数组直接量:
var i=[[2,{a:1,b:2}],[4,{a:3,b:4}]];
如果省略数组直接量里面的某个值,那么省略的元素将被赋予undefined值:
var arr=[1,,3]; //数组里面有三个元素,中间的那个元素值为undefined var a=[,,]; //数组里面有俩个元素,都是undefined
...
2.数组元素的读和写
可以使用[ ]操作符来访问数组里面的一个元素。
数组的引用位于方括号的左边。
方括号里面是一个可以返回非整数值的任意表达式。
使用这个语法不仅可以读还可以写数组的一个元素。
var x=["world"]; //从一个元素的数组开始 var value=x[0]; //读第0个元素 x[1]=5.8; //写第一个元素 a=1; x[a]=2; //写第二个元素 x[x[a]]=x[0]; //读第0个元素和第二个元素,写第三个元素
因为数组是对象的特殊形式。所以使用方括号访问数组元素就像使用方括号访问对象的属性一样。
...
-数组元素的添加和删除
push( ) 把一个项目添加到数组的尾部。 -方法push()将把它的参数顺次添加到array的尾部。它直接修改array,而不是创建——个新的数组。方法push()和方法pop()用数组提供先进后出栈的功能。 pop( ) 从数组尾部删除一个项目。 -方法pop()将删除array的最后一个元素,把数组长度减1,并且返回它删除的元素的值。如果数组已经为空,则pop()不改变数组,返回undefined。
-数组的方法如下:
concat( ) 给数组添加元素。 join( ) 将数组中所有元素都转换为字符串,然后连接在一起。 reverse( ) 在原数组上颠倒数组中元素的顺序。 shift( ) 将数组的头部元素移出数组头部。 slice( ) 返回一个数组的子数组。 sort( ) 在原数组上对数组元素进行排序。 splice( ) 插入、删除或替换一个数组元素。 toLocaleString( ) 把数组转换为一个局部字符串。 toString( ) 把数组转换为字符串。 unshift( ) 在数组的头部插入一个元素。