一.创建数组
var arr = new Array(5)//5是长度,new可省略
var arr = new Array("one","two")
或
var arr = ["one","two"]
var arr= []//空数组
var arr = ["one","two","three"]
alert(arr[0]); //one 索引 从 0 开始,不存在将返回undefined
alert(arr.length); //3 返回了数组长度2
arr.length = 2; // 可用于删除最后一项
二.检测数组
if (value instanceof Array){...}
if (Array.isArray(value) {...}//ECMAScript5新增 IE9+
三.转换方法
- toString()
- valueOf()
- toLocaleString()
- join()
首先,所有对象都有的三种方法
var arr=["one","two","three"]
alert(arr); //one,two,three alert需要字符串参数,后台调用了toString()
alert(arr.toString()); //one,two,three 数组中的元素之间用逗号分隔
alert(arr.valueOf()); //one,two,three
alert(arr.toLocaleString()); // 使用地区特定的分隔符把生成的字符串连接起来,形成一个字符串
arr.join("||") ; // one||two||three join()接收一个参数,即用做分隔符的字符串
数组中如果某一项为null或undefined,则在上述方法返回的结果中以空字符串表示。
四.栈方法、队列方法
栈数据结构LIFO(后进先出),队列数据结构FIFO(First-In-First-Out)。
栈方法
- push()
- pop()
var arr=["one","two","three"]
count = arr.push("four");
alert(count); // 4 数组最后推入一项,*并返回数组长度*
var arrlast = arr.pop();
alert(arrlast); // "four" 返回数组最后一项,*并移除这一项*
队列方法
- push()
- shift()
- unshift()
var arr=["one","two","three"]
count = arr.push("four");
alert(count); // 4 数组最后推入一项,*并返回数组长度*
var arrone = arr.shift();
alert(arrone); // "one" 返回数组第一项,*并移除这一项*
arr.unshift() // 在arr数组前端添加n项,并返回数组长度
五.重排序方法
- reverse()
- sort()
var arr=["one","two","three"]
arr.reverse() // 反转arr数组,返回反转后的数组
alert(arr); //three,two,one
arr.sort() //调用toString(),比较字符串,按字符编码的顺序进行排序,升序
arr.sort(compare) //接收比较函数
function compare(val1,val2){ //类似冒泡排序,val1-val2正数则交换
return val1 -val2; //升序
}