gpt4 book ai didi

javascript - 按 Angular 加权平均值排序

转载 作者:行者123 更新时间:2023-11-28 19:08:57 26 4
gpt4 key购买 nike

我正在尝试按两列的加权平均值对表进行排序。列的权重存储在 Controller 的范围内。当我尝试在 orderBy 表达式中引用这些权重时,排序未正确完成。

 <tr ng-repeat = "x in fruitdata | orderBy:'cost.apples*apples + cost.oranges * oranges'">

我想要的东西:https://jsfiddle.net/t3op50p9/2/

如果我对权重进行硬编码,那么一切都会正常工作

 <tr ng-repeat = "x in fruitdata | orderBy:'1.89*apples + 1.49 * oranges'">

摆弄硬编码权重(不是我想要的):https://jsfiddle.net/t3op50p9/3/

最佳答案

您可以在范围内定义一个函数,用于计算排序的权重

$scope.orderFn = function (fruit) {
return fruit.apples * $scope.cost.apples + fruit.oranges * $scope.cost.oranges;
}

ng-repeat="x infruitdata | orderBy: orderFn:true" (注意:末尾的 true 会反转排序函数生成的顺序,从而使最大的重量在顶部。)

https://jsfiddle.net/TheSharpieOne/t3op50p9/6/

关于javascript - 按 Angular 加权平均值排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31124361/

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