Javascript学习篇:引用类型——Array类型(2)

队列方法

队列数据结构的访问规则是FIFO(First-In-First-Out,先进先出)。队列在列表的末端添加项,从列表的前端移除项。实际这一操作的数组方法就是shift()。他能移除数组中的第一个项并返回该项,同时将数组长度减1.

ECMAScript还为数组提供一个unshift()。顾名思义,unshift()与shift()的用途相反,他能在数组的前端添加任意个项并返回新数组的长度。

例 var colors = new Array(); //创建一个数组

var count = colors.unshift("red","green"); // 推入两项

alert(count); //2

count = colors.unshift("black"); //推入另一项

alert(count); // 3

var item = colors.pop(); //移除最后项green

alert(colors.length); // 2

重排序方法

数组中存在两个可以直接用来重排序的方法:reverse()方法和sort()方法

reverse():调用该方法后,其值会反转数组项的顺序

例 var values = [1,2,3,4,5];

values.reverse();

alert(values); // 5,4,3,2,1

sort():按照升序排列的方式排列数组项——即最小值排在前面,最大值排在后面。sort()在排序时,会把数组每个项转换成字符串的形式,也就是用tostring()方法,然后比较字符串后来排序。字母类型就按照a~z的顺序来排序,数字按照1-10的顺序来排列。

例 var values = [0,1,15,5,10];

values.sort();

alert(values); // 0,1,10,15,5

转化成字符串以后,按照第一位排序,第一位相同,在比较第二位……

这种排序方法很多情况下不是最佳的方案,因此sort()方法可以接受一个比较函数作为参数,以便我们指定哪个值在哪个值的前面。

比较函数接受两个参数,如果第一个参数应该位于第二个参数之前,则返回一个负数;如果两个参数相等,则返回0,;如果第一个参数应该位于第二个参数之后,则返回一个正数。

function Compare (value1,value2){

if (value1

return -1;

} else if (value1>value2){

return 1;

} else {

return 0;

}

}

var values =[0 ,1,5,10,15];

values.sort(compare);

alert(values); // 0,1,5,10,15

陈健的个人博客,记录生活所见所感、学习笔记。专注于Web前端_SEO教程_读书心得。

发表评论

电子邮件地址不会被公开。 必填项已用*标注

返回主页看更多
狠狠的抽打博主 支付宝 扫一扫