Node.js array.sort with custom method导致RangeError:超出最大调用堆栈大小
因此,我有一个100000+项的数组,这一行导致它破坏调用堆栈: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
@sortedList.sort (a, b) ->
return if a.value > b.value then -1 else 1
我将要实现一种自定义类型(建议,任何人?)来解决这个问题,但我只是想确保我没有做一些会导致它爆炸的明显愚蠢的事情。如果
a.value==b.value
会发生什么?A如果项目相同:
- 如果
小于0,则将compareFunction(a,b)
排序到低于a
的索引b
- 如果
返回0,则将compareFunction(a,b)
和a
彼此保持不变,但根据所有不同的属性进行排序 元素b
- 如果
大于0,则将compareFunction(a,b)
排序到低于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如果项目相同:
- 如果
小于0,则将compareFunction(a,b)
排序到低于a
的索引b
- 如果
返回0,则将compareFunction(a,b)
和a
彼此保持不变,但根据所有不同的属性进行排序 元素b
- 如果
大于0,则将compareFunction(a,b)
排序到低于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
之前,你不能期望从中得到合理的结果。嘿,这就解决了它。我以前使用的是一个小得多的数据集,它一定没有任何==在其中。谢谢嘿,这就解决了。我以前使用的是一个小得多的数据集,它一定没有任何==在其中。谢谢