代码之家  ›  专栏  ›  技术社区  ›  Nurbol Alpysbayev

具有n个大对象元素的数组排序是否比具有n个小对象元素的数组慢?

  •  0
  • Nurbol Alpysbayev  · 技术社区  · 5 年前

    数组的大小 对象 元素影响数组排序的性能?

    我怀疑答案是否定的,因为只有内存指针(如果我得到了正确的答案)被排序。但如果有人能证实/拒绝/解释这一点,我将不胜感激。

    要排序的属性包含一个数字:1、2、3等。

    两个数组的示例:

    const arr1 = [{blob: {/*huge object here*/}, order: 1}, /*similar objects*/]
    
    const arr2 = [{smallObject: {foo: 'bar'}, order: 1}, /*similar objects*/]
    
    // sorting like this:
    arr.sort((a,b)=> a.order > b.order ? 1 : -1)
    
    2 回复  |  直到 5 年前
        1
  •  1
  •   gilamran    5 年前

    我在这里创建了一个基准: http://jsben.ch/vsvza

    enter image description here

        2
  •  2
  •   Jonas Wilms    5 年前

    不。指针是有效表示动态嵌套结构的唯一方法,因此对象的“大小”不会影响排序,因为指针必须交换。

    但是,数组的大小确实会影响排序速度,如果有更多的元素需要进行更多的排序。