Преобразование массива объектов для сортировки в javascript?

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

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

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

Как конвертировать HTML в PDF с помощью jsPDF
Как конвертировать HTML в PDF с помощью jsPDF
В этой статье мы рассмотрим, как конвертировать HTML в PDF с помощью jsPDF. Здесь мы узнаем, как конвертировать HTML в PDF с помощью javascript.
0
0
41
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

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

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

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

Другие вопросы по теме