创建数组
var empty=[];//空数组
var primes=[2,3,4,5,7];//有五个数值的数组
var misc=[1.1,true,"a",];//数组也是对象,可以有不同类型的数据,有三个数据和末尾的逗号
var a=[[1,2],{x:1}];//也可以包含数组和对象
var count=[1,,3];//数组有三个元素,中间的为undefined
var undefs=[,,];//有两个undefined
var a=new Array(10);//用构造函数创建数组,一个元素10为数组长度,但只是分配了空间,里面并没有定义值
var a=new Array(1,2,3,"hell0","world");//定义并初始化
数组长度及添加删除
a=[1,2,3];
a.length;//调用数组的length属性可以得到数组的长度
a.push("hello");//在数组末尾添加一个元素
a.pop();//删除数组末尾的元素并返回,配合push方法使用
delete a[1];//删除下标为1的元素,但是这并不会修改数组的length属性,高位置的元素也不会从高索引处移下来填补空缺。只是变为了稀疏数组
a.shift();//从数组头部删除一个元素,配合unshift()方法使用
数组遍历
for(var i=0;i<a.length;i++)//for循环,注意length是动态可变化的
for(var i in a)//for in循环,i为索引或者可枚举的属性
a.forEach(function(){});//将数组a中的每个值传到forEach中的函数中
多维数组同其他编程语言一个道理,此处不再赘述
数组方法
join:将数组中的所有元素都转化为字符串并连接在一起,返回最后生成的字符串,可以指定一个可选的字符串来分隔数组中的元素,如果不指定默认使用逗号;
var a=[1,2,3];
a.join();//"1,2,3"
a.join("");//"123";
reverse:将数组中的元素颠倒顺序,返回逆序的数组;
var a=[1,2,3];
a,reverse();//[3,2,1]
sort:将数组中的元素排序后返回,改变了原数组;
var a=new Array("banana","cherry","apple");
a.sort();//["apple","banana","cherry"];
//也可传入一个函数,假设第一个参数在前,则返回一个0的数值
a.sort(function(a,b){return a-b;});//降序排列,若返回b-a则升序排列
还有concat(),slice(),splice(),push(),pop(),unshift(),shift(),toString(),toLocaleString(),forEach(),map(),filter(),every(),some(),reduce(),reduceRight(),indexOf(),lastIndexOf()等等好多;有机会再补;