Angular: Empty Fiddle

http://angularjs.org/

HTML

<script src="http://code.angularjs.org/angular-1.0.1.js"></script>
<link rel="stylesheet" href="//netdna.bootstrapcdn.com/bootstrap/3.0.0/css/bootstrap.min.css">
<div ng-controller="MyCtrl">
        <table class="table table-bordered table-striped">
          <thead>
            <tr>
                <th ng-click="predicate = 'name'; reverse=!reverse">Name(click me to order)></th>
            </tr>
          </thead>
          <tbody>
            <tr ng-repeat="name in (names | orderBy:predicate:reverse | emptyToEnd:'name')">
              <td>{{name.name}}</td>
              <td>{{name.description}}</td>
            </tr>
          </tbody>
        </table>
</div>

JavaScript

var myApp = angular.module('myApp',[]);

//myApp.directive('myDirective', function() {});
//myApp.factory('myService', function() {});
myApp.filter("emptyToEnd", function () {
    return function (array, key) {
        if (!angular.isArray(array)) return;
        var present = array.filter(function (item) {
            return item[key];
        });
        var empty = array.filter(function (item) {
            return !item[key]
        });
        return present.concat(empty);
    };
});
function MyCtrl($scope) {
    $scope.names = [{"name":"Name 1","description":"lorem ipsum"},{"name":"Name 2","description":"lorem ipsum"},{"name":"","description":"lorem ipsum"}];
}