gpt4 book ai didi

angularjs - BackboneJS 和 AngularJS 排序稳定吗?

转载 作者:塔克拉玛干 更新时间:2023-11-03 05:32:22 24 4
gpt4 key购买 nike

我正在考虑在我的应用程序中使用 BackboneJS 和 AngularJS。但是这些框架中的排序算法稳定吗?例如:它们会保留表/集合中先前排序的列的顺序吗?

最佳答案

我不知道 Angular,但 Backbone 可能有也可能没有稳定的排序,这取决于你如何使用它。

所有集合排序都通过 Backbone.Collection.prototype.sort 进行,如果您看一下,you'll see this :

if (_.isString(this.comparator) || this.comparator.length === 1) {
this.models = this.sortBy(this.comparator, this);
} else {
this.models.sort(_.bind(this.comparator, this));
}

如果您收藏的 comparator是一个字符串(即模型属性名称)或一个只需要一个参数的函数,那么 _.sortBy 将进行排序并且 _.sortBy

Returns a (stably) sorted copy of list, ...

如果你看看 the implementation您会看到通过使用元素索引作为辅助排序键来实现稳定性。

如果集合的比较器不能与_.sortBy一起使用,那么Array.prototype.sort被使用并且不能保证稳定性。

关于angularjs - BackboneJS 和 AngularJS 排序稳定吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24678527/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com