0

我正在使用带有自定义功能的角度排序。它看起来像这样:

对象:

$scope.array = [{'field1': some_value,
                'field2': some_value,
                    ...
                'field10': some_value},
                    ...
                {'field1': some_value,
                    ...
                'field10': some_value} // Field can be more in the future
               ]

控制器:

$scope.array = $filter('orderBy')($scope.array, [function(item) {
    return customOrderFunction(item);
}, 'field1', 'field2', 'field3', 'field4', 'field5',...,'field10']);

但这并不漂亮&&该领域将来可能会更多。我尝试制作一个字符串以减少代码大小。

var fieldString = ['field1', 'field2', ... 'field10'];

$scope.array = $filter('orderBy')($scope.array, [function(item) {
    return customOrderFunction(item);
}, fieldString.join()]);

但它给出了一个错误。有没有办法用orderBy实现这一点?或者有没有可能用JavaScript做到这一点?

4

0 回答 0