JSFiddle - React, Tailwind, and code Playground

HTML

Open console

JavaScript

var obj1 = { 
  name: "Person1",
  rating: 99
}

//Should be 3rd Rank
var obj2 = {
  name: "Person2",
  rating: 50
}

//Should be 2nd Rank
var obj3 = {
  name: "Person3",
  rating: 98
}

//Should be 4th Rank
var obj4 = {
  name: "Person4",
  rating: 0
}

//Should be tied for 1st Rank
var obj5 = {
  name: "Person5",
  rating: 99
}

var clients = [obj1, obj2, obj3, obj4, obj5];

var sorted = _.chain(clients)
    .groupBy('rating')
    .pairs()
    .sortBy(0)
    .reverse()
    .pluck(1)
    .value();

console.log(sorted);
// returns zero when no rank is found
var getRank = function(sortedArray, object) {
    return 1 + _.findIndex(sortedArray, function(list) {
        return _.contains(list, object);
    });
};

console.log("Person2 rank:", getRank(sorted, obj2));

// You can also use _.bind or _.curry to tie getRank to specific array.
var getRankOfClient = _.curry(getRank)(sorted);

console.log("leaderboard:");
_.chain(clients)
.sortBy('name')
.forEach(function(c) {
    console.log(c.name + ": " + getRankOfClient(c));
});