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
//...