JSFiddle - React, Tailwind, and code Playground
HTML
<ol ng-controller="c">
<li ng-repeat="item in (items|orderBy:'name'|emptyToEnd:'name')">{{item.name}}</li>
</ol>
JavaScript
angular
.module("app", [])
.controller("c", function ($scope) {
$scope.items = [
{id: 1, name: ""},
{id: 2, name: "a"},
{id: 3, name: "b"},
{id: 4, name: "c"},
{id: 5, name: ""},
{id: 6, name: "f"},
{id: 7, name: ""},
{id: 8, name: "z"},
];
})
.filter("emptyToEnd", function () {
return function (array, key) {
var present = array.filter(function (item) {
return item[key];
});
var empty = array.filter(function (item) {
return !item[key]
});
return present.concat(empty);
};
});
angular.bootstrap(document, ["app"]);