引用类型-Array

一,创建方式(两种):

1,var arr = new Array()不带参;var arr = new Array('a','b');带参 ;var arr = new Array(4);指定长度为4-- 使用Array构造函数;

2,var arr = [];空数组;var arr = ['a','b'] 初始化值数组--字面量表示法。

二, 最大长度:4294967285项,如果超出这个长度会报异常,创建一个初始值大小与这个上限值接近的数组,可能会导致运行时间超长的脚本错误。

三,检测数组的方法:

1,instanceof (一般情况满足):写法if(value instanceof Array){},对于包含多个框架的网页,由于框架的差异,会导致Array的构造函数不同,两个不同框架传递Array时,构造函数的不同会导致判定不准确;

2,ECMAScript5 新增方法:isArray():写法 if(Array.isArray(value)){};这个放法是用来判定是否为数组。{支持:IE+,firefox4+,Safari5+Opera10.5+和 Chrome}

四,转换方法:

包含:toLocaleStrin(),toString(),valueOf(),将数组中的每个值用 ,号拼接成字符串;

join();可传参,将数组中的每个值用指定符号拼接成字符串。例如:var colors ['red','black'] ;   alert(colors.joi('**'))  // red**black

五,栈方法:LIFO

1,push()   --从数组末尾添加元素,返回数组长度(元素个数)

2,pop()    -- 从数组末尾获得元素,返回获得的元素项,同时,数组长度减少1(移除项)

队列方法:FIFO

1,push()  --- 同上

2,shift()  ---从数组前端移除项,返回移除的项,数组长度减少1

3,unshift()  -- 用法与shift()相反,从数组前端添加项,返回数组长度   ==注意:IE7 使用unshif() 会返回undefined而非数组的新长度, IE8 在非兼容模式下返回正确的长度值

六,重新排序方法:

reverse() --数组反转,返回反转后的数组

sort()  或 sort(compare)  可传处理函数作为参数 -- 数组排序,返回排序后的数组,默认是从小到大,sort排序是将数组中的元素转换成字符串后进行排序,所以排序会有偏差,针对这一情况,一般通过函数处理,传入比较方法(函数)

例如:升序:

function compare(value1,value2){

  if(value1<value2){

    return -1;

  }else if(value1>value2){

    return 1;

  }else{

    return 0;

  }

}

var values = [0,2,12,25,5];

values.sort(compare);

alert(values); // 0,2,5,12,25

七,操作方法

concat()  -- 连接方法 

猜你喜欢

转载自www.cnblogs.com/dbymz1314/p/10870851.html