Преобразование массива объектов для сортировки в JavaScript? - PullRequest
0 голосов
/ 14 мая 2019

Я пытаюсь создать сортируемый список на мой взгляд. Каждая запись строки хранится как объект в массиве, а значения строк портят сортировку.

Код в 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 и преобразовать строковые поля , а затем каким-то образом использовать преобразованные значения в качестве объектов в представлении.

Любая помощь будет оценена.

1 Ответ

0 голосов
/ 15 мая 2019

Чтобы преобразовать поле Number из строки в число:

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

Для получения дополнительной информации см.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...