Есть массив объектов (users). Его длина должна быть не больше 3. Изначально массив пустой, а в него добавляются отдельные юзеры. Как только длина массива становится равна 3, нужна дополнительная проверка: если у текущего юзера свойство score(потенциальный 4ый элемент массива) больше чем у какого-либо юзера из массива, то нужно добавить текущего юзера в массив. Например, есть массив объектов юзеров(всего 2 юзера). У каждого объекта юзер score = 3; score = 2 соответственно. У нового юзера score получился = 5. Значит теперь массив должен быть из score = [5, 3]
const users = [
{userName: "123@qwe.qwe", password: "qwer", score: 4}
{userName: "koko@ko.ko", password: "none", score: 2}
{userName: "asd@asd.by", password: "qwertghj", score: 4}
];
const addRecordToTable = () => {
const user = JSON.parse(localStorage.getItem(keyUser)); //текущий юзер
if(JSON.parse(localStorage.getItem(keyUsers)=== null)) {
const users = [user];
localStorage.setItem(keyUsers, JSON.stringify(users));
} else {
let users = JSON.parse(localStorage.getItem(keyUsers)); //получили юзеров, которые уже были добавлены в массив
if(users.length > 3) {
users.length = 3;
}
if(users.length === 3) {
users.forEach(u => {
if(user.score > u.score) {
users[0] = user;
}
});
}
users.push(user);
localStorage.setItem(keyUsers, JSON.stringify(users));
}
//const users = JSON.parse(localStorage.getItem(keyUsers));
createTableRecords();
};