@gsdev99

Как мне правильно изменить объект?

Всем привет, подскажите, пожалуйста, как мне правильно изменить объект.
Исходный объект:
const users: [
  {
    id: 73334,
    firstName: "Дмитрий",
    type: 1,
    userNumber: "1122334455667"
  },
  {
    id: 83334,
    firstName: "Михаил",
    type: 2,
    userNumber: "1122334455667"
  },
  {
    id: 93334,
    firstName: "Илья",
    type: 1,
    userNumber: "1122334455667"
  },
  {
    id: 53334,
    firstName: "Николай",
    type: 2,
    userNumber: "1122334455667"
  }
]


Далее известен, например id:
53334

И есть ещё один объект:

const user =  {
  firstName: 'new user',
  type: 1,
  userNumber: '789'
}


Необходимо на место 53334 подставить новые данные:

const users: [
  {
    id: 73334,
    firstName: "Дмитрий",
    type: 1,
    userNumber: "1122334455667"
  },
  {
    id: 83334,
    firstName: "Михаил",
    type: 2,
    userNumber: "1122334455667"
  },
  {
    id: 93334,
    firstName: "Илья",
    type: 1,
    userNumber: "1122334455667"
  },
  {
    id: 53334,
    firstName: "new user",
    type: 1,
    userNumber: "789"
  }
]
  • Вопрос задан
  • 117 просмотров
Решения вопроса 1
0xD34F
@0xD34F Куратор тега JavaScript
Object.assign(users.find(n => n.id === id), user);

или, если неизвестно, есть ли объект с заданным id:

const u = users.find(n => n.id === id);
if (u) {
  Object.assign(u, user);
} else {
  // добавляем, например
  users.push({ ...user, id });
}
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы