栈是一种LIFO(后进先出)的数据结构,也就是最新添加的项最早被移出。就像汽车开进了死胡同的原理一样
栈方法有:
1,push( )方法从最后面添加元素,并返回修改后的数组长度
2,pop( )方法是删除最末尾的元素,并返回被移除的项
栗子:
var arr = [1, 4, 5, 6, 7, 7, 9];
console.log(arr.push(20)); //8 数组的长度
console.log(arr);// [1, 4, 5, 6, 7, 7, 9,20];
var arr = [1, 4, 5, 6, 7, 7, 9];
console.log(arr.pop()); //9 返回被移除的项
console.log(arr);// [1, 4, 5, 6, 7, 7,];
队列方法
1,unshift( )方法 在数组的最前面添加一个元素,并返回新数组的长度
2,shift()方法 在数组的最前面移除一个元素,并返回被移除的项
var arr = [1, 4, 5, 6, 7, 7, 9];
console.log(arr.unshift(5)); //8返回新数组的长度
console.log(arr);//[5,1, 4, 5, 6, 7, 7, 9];//返回被移除的项
var arr = [1, 4, 5, 6, 7, 7, 9];
console.log(arr.shift()); //1返回被移除的项
console.log(arr);//[ 4, 5, 6, 7, 7, 9];返回数组
重排序方法
reverse()方法:反转数组项的顺序。
var arr = [1,2,3,4,5];
arr.reverse();
console.log(arr); //5,4,3,2,1
sort()方法:排序
sort()方法会调用每个数组项的toString()转型方法,然后比较得到的字符串,来确定顺序。
var values = [0,1,5,10,15];
values.sort();
console.log(values); //0,1,10,15,5
解决方法:sort()方法可以接收一个比较函数最为参数,以便指定哪个值位于前面。
例:
var values = [0,1,5,10,15];
values.sort(function(a,b){
return a-b; //升序
return b-a; //降序
});
console.log(values);
注意:reverse()和sort()方法的返回值都是经过排序后的数组(改变原数组)。
数组的方法是特别多的,今天就先例子举到这里 !