unshift和push的用法及“性能“对比
unshift和push的用法及“性能“对比

unshift和push的用法及“性能“对比

用法

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);

效果图

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注