как вывести массив содержимого объекта в алфавитном порядке, начиная с маленькой буквы на заглавную в angularjs - PullRequest
0 голосов
/ 07 февраля 2019

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

аллея, Питер, Тина, Эштон, Боб, Зенна

я пробовал

$scope.studentData=[
   {name:'peter',age:23},
   {name:'Ashton',age:22},
   {name:'Bob',age:24},
   {name:'alley',age:26},
   {name:'Zenna',age:26},
   {name:'tina',age:26},
]



 function compareAppList(a,b) {
      if (a.name < b.name)
        return -1;
      if (a.name > b.name)
        return 1;
    return 0;
    }



 var sortedApplications = $scope.studentData.sort(compareAppList);

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

аллея, Питер, Тина, Эштон, Боб, Зенна

1 Ответ

0 голосов
/ 07 февраля 2019

Вы можете проверить первый символ и отсортировать нижний регистр сверху, а затем отсортировать с помощью String#localeCompare

var $scope= { studentData: [{ name: 'peter', age: 23 }, { name: 'Ashton', age: 22 }, { name: 'Bob', age: 24 }, { name: 'alley', age: 26 }, { name: 'Zenna', age: 26 }, { name: 'tina', age: 26 }] };

var names = $scope.studentData
        .map(({ name }) => name)
        .sort((a, b) => 
            (a[0].toUpperCase() === a[0]) - (b[0].toUpperCase() === b[0]) ||
            a.localeCompare(b)
        );

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