Есть
input
, в котором вводится имя, затем, когда пользователь нажимает кнопку войти, должно проверяться, если пользователь с таким именем уже есть в объекте взятого из localStorage, то ничего не должно добавляться, а если есть, то добавить.
Я использовал цикл
for
, но получается так, что когда цикл запускается, он добавляет 2 раза пользователя который уже есть в объекте, и 1 раз нет, так как сравнение if выдало false, вот код:
const usernameInput = document.querySelector('input[name="username"]'); // Допустим 'Rebecca'
const passwordInput = document.querySelector('input[name="password"]');
const loginSubmit = document.querySelector('.log-in-submit');
let users = {
users: [
{name: 'Ann'},
{name: 'George'},
{name: 'Rebecca'}
]
};
localStorage.setItem('users', JSON.stringify(users.users));
loginSubmit.addEventListener('click', () => {
const getUsers = JSON.parse(localStorage.getItem('users'));
const username = usernameInput.value; // "Rebecca"
const checkUserInUsers = (name) => {
for (let i = 0; i < getUsers.length; i++) {
if (getUsers[i].name !== name) {
setNewUser(name);
} else {
console.log('Пользователь уже есть.')
break;
}
}
}
checkUserInUsers("Rebecca")
const setNewUser = (username, password) => {
users.users.push({name: userName});
localStorage.setItem('users', JSON.stringify(users.users));
};