用法
unshift() :向数组最前方添加一个或者多个元素,并且会返回新的数组长度。
shift() : shift()方法和unshift()方法相反。shift()把数组的第一个元素从其中删除,并返回被删除的值。如果数组是空的,将不进行任何操作,返回undefined。
push(): 向数组末尾添加一个或者多个元素,并返回新的长度。
pop(): 删除数组的最后一个元素,把数组的长度减1,并且返回它被删除元素的值,如果数组变为空,则该方法不改变数组,返回undefine值。
性能对比
从用法上来看,unshift()是添加在头部,需要把已有的顶下去,而push()是直接添加末尾并不需要改变其他顺序。随意可想而知push()的性能更好,添加更快。
代码测试
var pu=[]
var pushTime =+new Date() // +new Date() === new Date().valueOf() 返回当前毫秒数
console.log("push前时间"+pushTime);
// push 性能
for (let i = 0; i < 100000; i++) {
pu.push(i)
}
console.log("push后时间"+new Date().valueOf());
console.log(+new Date-pushTime); //现在的时间减去刚刚的时间 得出push添加所需的时间
console.log("------------unshift性能-------------");
// unshift 性能
var un=[]
var unshiftTime =+new Date()
console.log('unshiff前时间'+unshiftTime);
for (let j = 0; j < 100000; j++) {
un.unshift(j)
}
console.log('unshiff后时间'+new Date().valueOf());
console.log(+new Date()-unshiftTime);