Array的队列方法&重排序方法—— JS学习笔记2015-6-27(第68天)

队列方法

相对于数据结构的后进先出【LIFO】访问规则,队列数据结构的访问规则是先进先出【FIFO】

这里提到一个方法  shift(); 它能够移除数组中的第一个项,并返回该项,同时将数组长度减1;// 有点像pop()

实例:

var colors = ['red','green'];

var item = colors.shift();

alert(colors);  // green

alert(item);  // red

alert(colors.length)  // 1;

同时也提供了一个unshift()方法;

用法和shift() 相反;

shift()和unshift() 操作的对象都是数组的首项; // push()和pop()的操作都是针对数组的尾部;

unshift返回的数组的长度;

重排序方法

reverse()方法 是反转数组原来的顺序;

sort() 方法 是按照升序排列数组项,它是会调用数组的toString() 方法,然后比较得到的字符串,以确定如何排序, 注意:即使数组中的每一项值都是数字,sort()方法比较的也是字符串;

sort()方法可以接收一个比较函数作为参数,以便指定哪个值位于哪个值前面;

 规则是: 比较函数接收的2个参数,如果第一个参数应该位于第二个之前则返回一个负数;

                 如果2个参数相等,则返回0;

                                如果第一个参数应该位于第二个之后则返回一个正数;

 1  function compare(a, b){
 2 
 3       if (a<b) {
 4 
 5           return 1;
 6 
 7       }else if (a>b) {
 8 
 9           return -1;
10 
11       }else {
12          
13         return 0;
14 
15       }
16   }
17 
18   var arr = [0,1,5,-10,15]
19   arr.sort(compare);
20   alert(arr);  // 15,5,1,0,-10;
View Code
原文地址:https://www.cnblogs.com/zhangxg/p/4604923.html