【问题标题】:Converting array of objects for sorting in javascript?转换对象数组以在javascript中进行排序?
【发布时间】:2019-10-01 16:53:22
【问题描述】:

我正在尝试在我的视图中创建一个可排序的列表。每个行条目都作为一个对象存储在数组中,字符串值会打乱排序。

代码在 Angularjs 中。

我尝试了多种不同的创建列表的方法,虽然列表的排序功能有效,但值本身的排序不正确。我相信这是因为大多数排序错误的值是字符串而不是整数。

数据示例:

$scope.Info = { length 14
Object {InformationID: 100, fiscalYear: 2019, Number: "9", endDate: "2019-11-09T00:00:00" …
...}}

我尝试过的代码:

$scope.Info = {};
$scope.number = [];

ContractsService.getInformation()
.then(function (results) {
    $scope.Info = results.data;
    angular.forEach($scope.Info, function (value) {
        $scope.number.push(value.Number);
    }
}

$scope.save = function (Detail) {
[not needed in example]

用于视图的循环显示:

<tr ng-repeat="Detail in Info | orderBy:rfrorder.Orderby:rfrorder.reverse">

我需要对 $scope.number 进行保存验证,以确保尚未使用该数字,因此将这些字段分开就可以了。但对于其余部分,我很确定我必须循环遍历 forEach 并转换字符串字段,然后以某种方式将转换后的值用作视图中的对象。

任何帮助将不胜感激。

【问题讨论】:

    标签: jquery angularjs asp.net-mvc foreach


    【解决方案1】:

    要将Number 字段从字符串转换为数字:

    $scope.Info.forEach(_ => _.Number = (+_.Number));
    

    有关详细信息,请参阅

    【讨论】:

      猜你喜欢
      • 2020-08-16
      • 1970-01-01
      • 2019-01-08
      • 2012-05-02
      • 2011-06-23
      • 1970-01-01
      • 1970-01-01
      • 2021-08-13
      • 1970-01-01
      相关资源
      最近更新 更多