Есть массив
var array = {};
в него добавляю подмассив
array[1] = array{k1: v1, k2: v2}
при повторном добавлении данных в массив, как мне проверить есть ли уже в этом массиве элемент 1 с подмассивом, дабы избежать повторного добавления.
это получается объект (массив) с данными о пользователях. где уникальный ид это ид пользователя а логин и ссылка на аватар это данные подмассива поторые добавляются в этот объект(массив).
Ну если id
у пользователя уникальный, то лучше хранить все в объекте. Ключ - id
, а значение, это уже объект с данными
Тогда проверка на наличие станет вообще тривиальной
Можно написать даже целый класс для пользователя ( любой сущности )
class Users {
data_ = {}
add(user) {
// Если пользователя нет
if(!this.data_[user.id]) {
this.data_[user.id] = user;
}
}
delete(id) {
return delete this.data_[id];
}
// Обновить данные пользователя, который уже есть
update(user) {
if (this.data_[user.id]) {
this.data_[user.id] = user;
}
}
// Получить список пользователей
getAll() {
return Object.values(this.data_);
}
}
const user1 = {login: 'login', id: '1', avatar: 'link'};
const user2 = {login: 'login', id: '2', avatar: 'link'};
const user3 = {login: 'login', id: '3', avatar: 'link'};
const usersDB = new Users();
usersDB.add(user1);
usersDB.add(user2);
usersDB.add(user3);
usersDB.add(user1); // здесь ничего не произойдет
console.log('Get all users');
console.log(usersDB.getAll());
console.log('Update user');
usersDB.update({login: 'login1', id: '1', avatar: 'link1'});
console.log(usersDB.getAll());
console.log('Delete user');
usersDB.delete(2);
console.log(usersDB.getAll());
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Есть массив нумерация элементов от 20-39Как можно сбросить нумерацию элементов в массиве, чтобы она стала от 0-19?
Вдруг ни с того ни с сего перестали загружаться картинки в новую заявкуНе работает загрузчик не в админки , не в фронте
Как сделать, что бы из атрибута data-word брались слова и вставлялись внутри canvas
Всем приветПодскажите пожалуйста, как изменить цвет в Qt QTableView для текущей позиции в таблице по нажатию на кнопку? Задача такая: Пользователь...