Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/sorting/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js array.sort with custom method导致RangeError:超出最大调用堆栈大小_Node.js_Sorting_Coffeescript - Fatal编程技术网

Node.js array.sort with custom method导致RangeError:超出最大调用堆栈大小

Node.js array.sort with custom method导致RangeError:超出最大调用堆栈大小,node.js,sorting,coffeescript,Node.js,Sorting,Coffeescript,因此,我有一个100000+项的数组,这一行导致它破坏调用堆栈: @sortedList.sort (a, b) -> return if a.value > b.value then -1 else 1 我将要实现一种自定义类型(建议,任何人?)来解决这个问题,但我只是想确保我没有做一些会导致它爆炸的明显愚蠢的事情。如果a.value==b.value会发生什么?A如果项目相同: 如果compareFunction(a,b)小于0,则将a排序到低于b的索引 如果compar

因此,我有一个100000+项的数组,这一行导致它破坏调用堆栈:

@sortedList.sort (a, b) ->
  return if a.value > b.value then -1 else 1

我将要实现一种自定义类型(建议,任何人?)来解决这个问题,但我只是想确保我没有做一些会导致它爆炸的明显愚蠢的事情。

如果
a.value==b.value
会发生什么?A如果项目相同:

  • 如果
    compareFunction(a,b)
    小于0,则将
    a
    排序到低于
    b
    的索引
  • 如果
    compareFunction(a,b)
    返回0,则将
    a
    b
    彼此保持不变,但根据所有不同的属性进行排序 元素
  • 如果
    compareFunction(a,b)
    大于0,则将
    b
    排序到低于
    a
    的索引
所以你想要更像这样的东西:

if a.value > b.value
  -1
else if a.value < b.value
   1
else
   0
如果a.value>b.value
-1
否则,如果a.值

缺少的
a.value==b.value
分支可能会导致
sort
失去理智,把整个地方弄得一团糟;没有
=
分支是说
a
b
之前,而
b
a
之前,你不能期望从中得到合理的结果。

如果
a.value==b.value
会发生什么?A如果项目相同:

  • 如果
    compareFunction(a,b)
    小于0,则将
    a
    排序到低于
    b
    的索引
  • 如果
    compareFunction(a,b)
    返回0,则将
    a
    b
    彼此保持不变,但根据所有不同的属性进行排序 元素
  • 如果
    compareFunction(a,b)
    大于0,则将
    b
    排序到低于
    a
    的索引
所以你想要更像这样的东西:

if a.value > b.value
  -1
else if a.value < b.value
   1
else
   0
如果a.value>b.value
-1
否则,如果a.值

缺少的
a.value==b.value
分支可能会导致
sort
失去理智,把整个地方弄得一团糟;没有
=
分支是说
a
b
之前,而
b
a
之前,你不能期望从中得到合理的结果。

嘿,这就解决了它。我以前使用的是一个小得多的数据集,它一定没有任何==在其中。谢谢嘿,这就解决了。我以前使用的是一个小得多的数据集,它一定没有任何==在其中。谢谢