传智博客 数组

1.1. 数组

    数组定义:

        创建数组的基本方式有2种.

    第一种是使用Array的构造函数

不指定长度

        vararrs=new Array();

        如果确定知道数组保存的数量,可以通过构造函数传递数组的长度

指定长度

        vararrs=new Array(20);

        该数组有20个元素,每一项的默认值都是undefined

指定元素

        var arrs=new Array("hello"); 会创建一个元素的数组.

    第二种方式

指定元素

        创建一个包含3个字符串的数组

        vararrs=["aa","bb","cc"];

        创建一个空数组

        vararrs=[];

        varvalues=[1,2];

数组初始化

       vararrs=["aa","bb","cc"];

       color[2]="xx";//修改第3项

       color[3]="zz";//新增第4项

数组遍历:

       for(var i = 0; i < arr.length; i++){

           alert(arr[i]);

       }  

       或

       for( var i in arr ){

           // i 是遍历出的数组中的索引,从0开始,一直到最大索引。

           // 如果有其他属性,也会遍历出来,其实索引就是数组对象的属性。

           alert(arr[i]);

       }

注意:

JS数组可以动态增长:

//数组的声明和初始化,注意:数组的长度取决于整数下标的个数

var arr = new Array();

arr[0] = "aa";2

arr[1] = "bb";

arr[6] = 'xx';

document.write(arr + "<br/>");

//遍历数组

for (var i = 0; i < arr.length; i++) {

   document.write(arr[i]+"<br/>");

}

//下标越界时:

var arr = ["aa", "bb"];

document.write(arr[200]);

// 显示undefined

 

      

 

常见方法

Array中的方法:

       sort()

           对当前数组进行排序,并返回已经进行了排序的此Array对象。

           不会创建新对象,是在指定数组中直接进行排序。

       reverse()

           对当前数组进行反转排序,返回一个元素顺序被反转的 Array 对象。

           不会创建新对象,是在指定数组中直接进行排序。

 

       push( [item1 [item2 [. . . [itemN ]]]] )

           将以新元素出现的顺序添加这些元素。

           如果参数之一为数组,那么该数组将作为单个元素添加到数组中。

       pop()

           移除数组中的最后一个元素并返回该元素。

           如果该数组为空,那么将返回 undefined。

       shift()

           移除数组中的第一个元素并返回该元素。

           如果该数组为空,那么将返回 undefined。

       unshift([item1[, item2 [, . . . [,itemN]]]])

           将指定的元素插入数组开始位置并返回该数组。

 

       splice(start, deleteCount, [item1[,item2[, . . . [,itemN]]]])

           移除从 start 位置开始的指定个数的元素,并插入新元素,从而修改         concat([item1[, item2[, . . . [, itemN]]]])

           返回一个新数组,这个新数组是由两个或更多数组组合而成的。原数组不变。

           要加的项目(item1 … itemN)会按照从左到右的顺序添加到数组。  

           如果某一项为数组,那么添加其内容到 array1 的末尾。

           如果该项目不是数组,就将其作为单个的数组元素添加到数组的末尾。    

       slice(start, [end])

           返回一个包含了指定的部分元素的数组。

           将返回索引大于等于start且小于end的一段。

           原数组不变。

       join(separator)

           把所有元素由指定的分隔符分隔开来组成一个字符串,返回这个字符串值。

           如果数组中有元素没有定义或者为 null,将其作为空字符串处理。

var a = [1, 2, 3];

//    连接两个或更多的数组,并返回结果。

document.write(a.concat([100, 30]) + "<br/>");

document.write(a.concat([100, 30], [60, 90]) + "<br/>");

//    把数组的所有元素放入一个字符串。元素通过指定的分隔符进行分隔。

var b = a.join("$");

document.write(b + "<br/>");

document.write( typeof b + "<br/>");

//string

//    删除并返回数组的最后一个元素

document.write(a.pop() + "<br/>");

//    向数组的末尾添加一个或更多元素,并返回新的长度。

document.write(a.push(99, 78) + "<br/>");

//    把数组转换为字符串,并返回结果。

document.write(a.toString() + "<br/>");

// 返回数组对象的原始值

var c = a.valueOf();

document.write( typeof c + "<br/>");

 

排序:

var a = [100, 9, 20, 3, 7, 96];

document.write(a + "<br/>");

//如果调用该方法时没有使用参数,将按字母顺序对数组中的元素进行排序

a.sort();

document.write(a + "<br/>");

//指定比较方式

a.sort(compareTo);

document.write(a + "<br/>");

function compareTo(a, b) {

   return a - b;

}

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值