话说 JavaScript基本类型和引用类型 -Array类型

1.ECMAScript中的数组与其他多数语言中的数组有着相当大的区别,即使都是数据的有序列表,但ECMAScript数组中的每一项可以保存任何类型的数据,不一定要求每项数据的类型要一致.

2.创建数组的两种方式:

  1)使用Array构造函数

var colors = new Array();

var colors = new Array(10);

var colors = new Array("red","blue","green");

  2)使用数组字面量表示法

var colors = [];

var colors = ["red","green","blue"];

3.数组的length属性很有特点--它不是只读的.因此,通过设置这个属性,可以从数组的末尾移除项或向数组中添加新项.

var colors = ["red","green","blue"];

alert(colors.length);//3

        colors.length = 2;

alert(colors[2]);//undefined 而不是"blue"

4.当把一个值放在超出当前数组大小的位置上时,数组就会重新计算其长度值,即长度值等于最后一项的索引加1;如:

var colors = ["red","green","blue"];

colors[99] = "black";

alert(colors.length);//100

5.join():

使用数组的join()方法,则可以使用不同的分隔符来构建数组各项组成的字符串.join()方法只接收一个参数,即用作分隔符的字符串,然后返回包含所有数组项的字符串.

var colors = ["red","green","blue"];

alert(colors.join(","));//red,green,blue

alert(colors.join("||"));//red||green||blue

6.栈方法:push()-pop();

push()方法可以接收任意数量的参数,把它们逐个添加到数组末尾,并返回修改后数组的长度.

pop()方法则从数组末尾移除最后一项,减少数组的length值,然后返回移除的项.

7.队列方法:push()-shift()或unshift()-pop();

shift()方法移除数组中的第一个项并返回该项,同时将长度减1.

unshift()方法与shift()相反,在数组前端添加任意个项并返回新数组的长度.

8.重排序方法:reverse();sort();

reverse()方法会反转数组项的顺序;

var values = [1,4,9,6,3];

values.reverse();

alert(values);//3,6,9,4,1

sort()方法默认按升序排列数据项,为了实现排序,sort()方法会调用每个数组项的toString()转型方法,然后比较得到的字符串,以确定如何排序.即使数组中的每一项都是数值,sort()方法比较的也是字符串.

var values = [1,4,9,6,3,16];

values.sort();

alert(values);//1,16,3,4,6,9

  sort()方法可以接收一个比较函数作为参数

function compare1(value1,value2){//数字降序

return value2 - value1;

}

function compare2(value1,value2){//数字升序

return value1 - value2;

}

var values = [1,4,9,6,3,16];

values.sort(compare1);

alert(values);//16,9,6,4,3,1

9.concat():

var colors = ["red","green","blue"];

var colors2 = colors;

colors[colors.length] = "black";

alert(colors);//red,green,blue,black

alert(colors2);//red,green,blue,black

var colors3 = colors.concat("yellow",["white","brown"]);

colors[colors.length] = "gray";

alert(colors);//red,green,blue,black,gray

alert(colors3);//red,green,blue,black,yellow,white,brown

10.slice():基于当前数组中的一个活多个项创建一个新数组,可以接收一个或两个参数,即要返回的起始和结束位置

var colors = ["red","green","blue","black"];

var colors2 = colors.slice(1);//返回从1到数组的末尾的所有项

var colors3 = colors.slice(1,3);//不包括3

alert(colors2);//green,blue,black

alert(colors3);//green,blue


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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值