push()、pop()、shift()、unshift()方法
push()方法接受任意数量的参数,并将他们添加到数组的末尾
pop()方法删除数组的最后一项,同时减少数组的长度
shift()方法删除数组的第一项并返回它,然后减少数组长度
unshift()方法在数组开头添加任意多个值,然后返回新的数组长度
1、push() 和 pop() 方法,可以实现类似栈的行为,栈的特点是后入先出,用push()方法将元素推入数组的末尾,然后再用pop()取出数组末尾的元素,这样就实现了元素的后入先出的效果
let person = [];
let count = person.push('马云禄','赵云'); //将数组推入两个元素
console.log(count) // 2
console.log(person) //['马云禄', '赵云']
person.push('关兴') //再往数组里面推入一个元素
console.log(person) //['马云禄', '赵云', '关兴']
let item = person.pop() //取出数组最后推入的元素
console.log(item) //关兴
console.log(person) //['马云禄', '赵云']
2、push() 和 shift() 方法,可以实现类似对了的行为。队列的特点是先入先出,同样用push()向数组推入元素,然后用shift()的方法取出数组的首位元素,这样就实现数组的先入先出的效果
let person = [];
person.push('张飞','夏侯氏'); // 将数组推入两个元素
console.log(person); // ['张飞','夏侯氏']
person.push('张星彩'); // 再推入一个元素
let item = person.shift(); // 取出数组的第一项
console.log(item) // 张飞
console.log(person) //['夏侯氏', '张星彩']
3、pop(), unshift() 方法, 可以实现数组反向的类似对列的行为。通过unshift()方法在数组的头部添加元素,然后通过pop()方法在数组末尾取出元素,也可以实现元素的先入先出的效果
let person = ['关平']; //建立有一个元素的数组
person.unshift('关羽'); //在数组的头部添加一个元素
console.log(person) //['关羽', '关平']
let item = person.pop(); // 取出数组数组的最后一项
console.log(item) // 关平
console.log(person) // ['关羽']
sort()、reverse()方法
sort()方法按照Unicode的方法进行正向排列。这导致进行数字排序会出现如下的结果,数字100会在4,5,9的前面
let arr = [1,4,5,9,0,100, 200] //创建一个乱序的数组
arr.sort() //将数组进行排序
console.log(arr) //[0, 1, 100, 200, 4, 5, 9]
由于sort()是一个高级函数,所以可以接受一个比较函数来实现数字的排序,如下面的例子所示,如果将比较函数的x-y变成y-x,则数字就会倒叙输出。
let arr = [1,4,5,9,0,100, 200,]
function compare(x,y){ //创建一个比较函数
return x-y
}
console.log(arr.sort(compare)) //[0, 1, 4, 5, 9, 100, 200]