我是靠谱客的博主 顺心跳跳糖,最近开发中收集的这篇文章主要介绍javascript比较删除数组头元素的不同方法的效率,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

javascript比较删除数组头元素的不同方法的效率

  1. Array.prototype.shift() 删除并返回数组的第一个元素

    我搜索的实现是,创建一个新数组,然后对从i=1开始,对新数组的i-1赋值,然后再对原数组重新赋值。赋值操作一共是 n-1+n-1=2n-1,时间复杂度是O(2n)。

    参考:https://blog.csdn.net/greybearchao/article/details/84562832

  2. Array.prototype.slice(start,end)

    slice() 方法返回一个从开始到结束(不包括结束)选择的数组的一部分浅拷贝到一个新数组对像,原始数组不会改变。

    new array=oldArray.slice(1)
    

    slice方法是创建一个新数组,将原数组由start到end都push进新数组,时间复杂度是O(n)

参考:https://blog.csdn.net/DLGDark/article/details/85629073?ops_request_misc=&request_id=&biz_id=102&utm_term=js%20silce%20%E5%BA%95%E5%B1%82%E5%AE%9E%E7%8E%B0&utm_medium=distribute.pc_search_result.none-task-blog-2allsobaiduweb~default-0-85629073.nonecase&spm=1018.2226.3001.4187

  1. Array.prototype.splice(start, deleteCount, item1, item2, …)

    splice()方法通过删除现有元素和/或添加新元素来更改一个数组的内容。

    plice先执行删除操作,删除指定个数的元素,然后再插入elements(元素或数组),他的每次删除都涉及大量元素的重新排列,而在插入元素时引入队列来管理。所以splice()的效率不高。

    参考:https://blog.csdn.net/coder_chenz/article/details/77193695?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522163426458216780357288665%2522%252C%2522scm%2522%253A%252220140713.130102334.pc%255Fall.%2522%257D&request_id=163426458216780357288665&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2allfirst_rank_ecpm_v1~rank_v31_ecpm-1-77193695.first_rank_v2_pc_rank_v29&utm_term=js+spilce+%E5%BA%95%E5%B1%82%E5%AE%9E%E7%8E%B0&spm=1018.2226.3001.4187

最后

以上就是顺心跳跳糖为你收集整理的javascript比较删除数组头元素的不同方法的效率的全部内容,希望文章能够帮你解决javascript比较删除数组头元素的不同方法的效率所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(52)

评论列表共有 0 条评论

立即
投稿
返回
顶部