I'm trying to write a vote counting function, I have an array of objects and each object has a property called `currentVote` which has a `userId` value. I want to find out which userID has the most votes. Using lodash this is what I got so far:

```
function countVotes(players) {
  return new Promise(function(resolve, reject) {
    //votes should be empty, filled it with some sample values
    let votes = ['312139659792875521','360445341989863434', '312139659792875521','360445341989863435','1','9999999999999999999999'];
    for (let i = 0, j = players.length; i < j; i++) {
      votes.push(players[i].currentVote);
    }
    let tally = _.chain(votes)
      .countBy()
      .toPairs()
      .sortBy(1).reverse()
      .map(0)
      .value()[0];
    resolve(tally);
  });

```

How can I pick a random value IF I have multiple `userIds` with the same number of votes. At the moment it seems that the smallest ID will always be picked?