数组的方法
1.push()和pop()方法
栈是一种数据结构(后进先出)
也就是说最新添加的元素最早被移除
而栈中元素的插入和移除只发生在一个位置,栈的顶部
(1)push()方法从数组的末尾添加一个或者多个元素,并返回数组修改后的长度。
var arr = [3,5,6,7];
console.log(arr.push(8,2,1)); //7
console.log(arr); //[3,5,6,7,8,2,1]
(2)pop()则从数组的末尾移除最后一个元素,减少数组的长度,返回数组移除的元素。
console.log(arr.pop()); //1 //移除的元素
console.log(arr); //[3,5,6,7,8,2]
2.shift()和unshift()
队列方法(先进先出)
队列在数组的末端添加元素,从数组的前端移除元素。
(1)shift()从数组前端移除一个元素,并返回第一个元素
(2)unshift() 从数组前端添加一个或者多个元素,并返回新的长度。
var arr = [3,4,2,1];
//arr.shift(); //从数组的前端移除一个元素,并返回第一个元素
console.log(arr.shift()); //3 移除的第一个元素
console.log(arr); // 4,2,1 //剩下的元素
var arr1 = [3,4,2,1];
console.log(arr1.unshift(6,0,6,2)); //8返回新的长度
console.log(arr1); //[3,4,2,1,6,0,6,2]
3.数组中存在两个可以直接用来排序的方法
(1)reverse() 逆向排序,源数组也被逆向排序了
该方法不会创建新的数组,但会改变原来的数组
var arr = [3,5,7,8];
console.log("arr.reverse:"+arr.reverse()); // 8,7,5,3
console.log(arr);//[8 7 5 3]
(2)sort() 对数组进行排序
var arr = [3,1,2,4];
console.log("arr.sort:"+arr.sort()); //1,2,3,4
console.log(arr); //[1,2,3,4]
这里存在一个问题,假如上面的1换成11,又会出现什么情况
出现的问题是:它并不会按顺序进行排列
解决方案:
function sortNumber(a,b){
return a-b;
}
var arr = [11,2,3,4];
arr.sort();
console.log(arr.sort(sortNumber)); //[11,2,3,4]