Array类型

创建数组方式:

1. 使用Array构造函数:    var colors = new Array();

  var colors = new Array(20);    //20表示给构造函数传递的数量,可以创建20个包含项每一项的初始值都是undefined

2. 使用数组字面量: var colors = ['red', 'yellow', 'green'];

 

设置数组的length,可以从数组的末尾移除项或向数组添加项。

 

数组的方法:

1.push() 从数组末尾推入项,并返回数组的长度    var num = ['1' , '2' , '3']    var count =  num.push('4' ,'5');   ------------>    count:5

2.pop()  从数组末尾移除最后一项,减少数组长度,并返回该项   var num = ['1' , '2' , '3']   var item=num.pop();     ------------------->   item: 3

3.shift() 移除数组中的第一个项,并返回该项   var num = ['1' , '2' , '3'];   var item=  num.shift();-------------> item:1

4.unshift()  在数组前端添加任意个项,并返回数组长度  var num = ['1' , '2' , '3'];   var count = num.unshift('5','6','7') --------------> count:6

5.reverse()  反转数组项的顺序     var num=['1' , '2' , '3','4','5']; num.reverse();------------------------>  num: 5,4,3,2,1

6.sort()  按照升序排列数组项,它比较的是转换后的字符串。即使各项是数字也会先转换为字符串在进行比较。

  从小到大排序: var values = [0, 1,15,5,10];   values.sort(compare); alert(values);------------------>0,1,5,10,15

function compare(v1,v2){
   if(v1<v2){
        return -1;
    }else if(v1 > v2){
        return 1;  
    }else{
        return 0;
    }
}

  从大到小排序:var values = [0, 1,15,5,10];   values.sort(compare); alert(values);------------------>15,10,5,1,0

function compare(v1,v2){
   if(v1<v2){
        return 1;
    }else if(v1 > v2){
        return -1;  
    }else{
        return 0;
    }
}

  可以简化为:

function compare(v1,v2){
  return v2-v1;
}

  

 7.concat()  基于数组中的所有项创建一个新的数组,将新数组添加到数组的末尾。

var num = ['1' , '2' , '3'];   var num2=num.concat('4',['5','6']);  alert(num2);--------------------> 1,2,3,4,5,6

8.slice()  返回起始和结束的位置。如果参数中有负数,用数组的长度加上改数来确定它的位置。如果结束位置小于起始位置,返回空数组。

var num = ['1' , '2' , '3',‘4’,‘5’];   var num2=num.slice(1);  alert(num2);------------------> '2' , '3',‘4’,‘5’

var num = ['1' , '2' , '3',‘4’,‘5’];   var num2=num.slice(1,3);  alert(num2);------------------> '2' , '3',‘4’

 

posted @ 2014-11-14 11:02  vivi.wang  阅读(123)  评论(0编辑  收藏  举报