JSFiddle - React, Tailwind, and code Playground

by Dave Salomon

JavaScript

var leaderboard = [{userId: 10293, balance: 1023},
                   {userId: 20394, balance: 1806},
                   {userId: 45333, balance: 2064},
                   {userId: 57456, balance: 2453},
                   {userId: 24575, balance: 2703}
                  ];

var msg = { userId: 10293, userBalance: 2500 };

// ----------------------------------------------
// important code follows...
var lowest = Number.POSITIVE_INFINITY;
$.each(leaderboard, function(idx,item){
    if(item.balance < lowest){
        lowest = item.balance;
    }
});

var i = $.grep(leaderboard, function(item){
    return item.userId == msg.userId;
})[0];

if(!i){
    if(msg.userBalance > lowest){
        leaderboard.push(msg);
        leaderboard = $.grep(leaderboard, function(item){
            return item.balance != lowest;
        });
    }
} else {
    i.balance = msg.userBalance;
}
// end important code
// ----------------------------------------------

console.log(leaderboard);
console.log('---');

leaderboard = [{userId: 10293, balance: 1023},
                   {userId: 20394, balance: 1806},
                   {userId: 45333, balance: 2064},
                   {userId: 57456, balance: 2453},
                   {userId: 24575, balance: 2703}
                  ];
lowest = Number.POSITIVE_INFINITY;
i = null;
msg = { userId: 10000, userBalance: 2700 };

// ----------------------------------------------
// important code follows...
var lowest = Number.POSITIVE_INFINITY;
$.each(leaderboard, function(idx,item){
    if(item.balance < lowest){
        lowest = item.balance;
    }
});

var i = $.grep(leaderboard, function(item){
    return item.userId == msg.userId;
})[0];

if(!i){
    if(msg.userBalance > lowest){
        leaderboard.push(msg);
        leaderboard = $.grep(leaderboard, function(item){
            return item.balance != lowest;
        });
    }
} else {
    i.balance = msg.userBalance;
}
// end important code
//...