Как добавить новое значение в существующий объект в массиве - PullRequest
0 голосов
/ 14 апреля 2020

Как я могу добавить значение к объекту в массиве persons?

Я хочу добавить значение lastname, а переменная id - это идентификатор объекта, значение которого должно быть добавлено.

  • Любая помощь приветствуется!

const lastname = 'Jackson';
const id = 2;

const persons = [
    {
        id: 1
        firstname: 'Mary',
        lastname: 'Jackson'
    },

    {
        id: 2
        firstname: 'Ash'
    }
]

Ответы [ 3 ]

2 голосов
/ 14 апреля 2020

Вот одна строка для обновления без изменения исходного массива:

const updatedPersons = persons.map(p => p.id === id ? {...p, lastname} : p);
1 голос
/ 14 апреля 2020

Вам нужно l oop над массивом и добавить условие, чтобы проверить, соответствует ли id person.id, затем добавить lastname к этому объекту person. Если вы не хотите изменять исходный массив go для .map(), иначе .forEach() С .forEach():

persons.forEach(person => {
  if (person.id === id) {
    person.lastname = lastname
  }
})

С .map():

const newPersonsArr = persons.map(person => {
  if (person.id === id) {
    return {
      ...person,
      lastname
    }
  }
  return person;
})
1 голос
/ 14 апреля 2020
persons.forEach(person => {
    if(this.id === person.id) person.lastname = this.lastname
})
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...