跳至主要內容
  • Hostloc 空間訪問刷分
  • 售賣場
  • 廣告位
  • 賣站?

4563博客

全新的繁體中文 WordPress 網站
  • 首頁
  • JavaScript 中,想删除数组的最后 N 项(重复很多次),最快的方法是什么?
未分類
28 10 月 2020

JavaScript 中,想删除数组的最后 N 项(重复很多次),最快的方法是什么?

JavaScript 中,想删除数组的最后 N 项(重复很多次),最快的方法是什么?

資深大佬 : black11black 3

如题,求 JS 大佬指点。

目前有一个对象,以下这种形式,共有大概一千个属性,每个属性对应一个长度为 1000 的数组

let obj = {     a: [1,2,3,4...],     b: [9,10,11,...],     ... } 

需求是将所有的属性,都只截取前 500 个,后 500 个不要了。

最快的方法是什么,是应该重复 pop 500 次?或者是干脆新建一个数组重新 push 进去?不希望这步操作吃性能。

谢谢大家

大佬有話說 (8)

  • 資深大佬 : newbieRenew

    pop 500 次干嘛?直接 length=500 不就行了

  • 資深大佬 : Cbdy

    @newbieRenew 一正解

  • 資深大佬 : lichdkimba

    slice 方法?

  • 資深大佬 : christin

    @newbieRenew 666

  • 資深大佬 : 66beta

    就不能查一下 mdn 上 array 的文档吗?

  • 資深大佬 : tiglapiles

    function cut500(obj) {
    const result = {}
    for (const i in obj) {
    result[i] = obj[i].slice(0,500)
    }
    return result
    }

  • 資深大佬 : yaphets666

    slice 就行 但是 slice 是创建了一个新的数组 这个性能不知道比直接 length=500 差还是怎么样

  • 資深大佬 : yaphets666

    测试了一下 一千万长度的数组,如果只截取前 500 的话.slice 方法和直接 length=500 都在 1ms 内. 截取的越多,比如前 500 万个元素.length 的优势越大.

文章導覽

上一篇文章
下一篇文章

AD

其他操作

  • 登入
  • 訂閱網站內容的資訊提供
  • 訂閱留言的資訊提供
  • WordPress.org 台灣繁體中文

51la

4563博客

全新的繁體中文 WordPress 網站
返回頂端
本站採用 WordPress 建置 | 佈景主題採用 GretaThemes 所設計的 Memory
4563博客
  • Hostloc 空間訪問刷分
  • 售賣場
  • 廣告位
  • 賣站?
在這裡新增小工具