javasscript学习笔记 之 数组学习二 数组的所有方法

1.push() 和 pop()  栈的方法 后进先出

  push() 该方法是向数组末尾添加一个或者多个元素,并返回新的长度。

  push()方法可以接收任意数量的参数,把它们逐个添加到数组的末尾,并返回修改后数组的长度

  javasscript学习笔记  之 数组学习二 数组的所有方法

  POP() 方法刚好和push()方法相反。pop()方法删除数组的最后一个元素,把数组的长度减1,并且返回它被删除元素的值,如果数组变为空,则该方法不改变数组,返回undefine

  javasscript学习笔记  之 数组学习二 数组的所有方法

unshift()添加元素 和 shift()删除元素  队列的方法 先进先出

unshift()方法  是向数组的开头添加一个或多个元素,并且返回新的长度。

  javasscript学习笔记  之 数组学习二 数组的所有方法

shift()方法 和 unshift()方法恰恰相反。该方法用于把数组的第一个元素从其中删除,并返回被删除的值。如果数组是空的,shift()方法将不进行任何操作,返回undefined的值

  javasscript学习笔记  之 数组学习二 数组的所有方法

简单得回忆一下:

  • push()方法可以在数组的末属添加一个或多个元素
  • shift()方法把数组中的第一个元素删除
  • unshift()方法可以在数组的前端添加一个或多个元素
  • pop()方法把数组中的最后一个元素删除

push 和 unshift 的性能测试

  Array的push()unshift()方法都能给当前数组添加元素,不同的是,push()是在末尾添加,而unshift()则是在开头添加,从原理就可以知道,unshift()的效率是较低的。原因是,它每添加一个元素,都要把现有元素往下移一个位置。但到底效率差异有多大呢?下面来简单测试一下。

  javasscript学习笔记  之 数组学习二 数组的所有方法

  下面是 chrome的运行结果

  javasscript学习笔记  之 数组学习二 数组的所有方法

  可见,unshift()push()要慢差不多100倍!因此,平时还是要慎用unshift(),特别是对大数组。那如果一定要达到unshift()的效果,可以借助于Array的reverse()方法,Array的reverse()的方法能够把一个数组反转。先把要放进数组的元素用push()添加,再执行一次reverse(),就达到了unshift()的效果

  javasscript学习笔记  之 数组学习二 数组的所有方法

  且花费时间很少 性能极高。

总结

            javasscript学习笔记  之 数组学习二 数组的所有方法

    

上一篇:hdu 4821 字符串hash+map判重 String (长春市赛区I题)


下一篇:深入理解TCP(一)