【问题标题】:How to add a new value to existing object in array如何向数组中的现有对象添加新值
【发布时间】:2020-07-27 06:21:29
【问题描述】:

如何向数组persons 中的对象添加值?

我要添加的值是lastname,变量id是应该添加值的对象的ID。

  • 感谢任何帮助!

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

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

    {
        id: 2
        firstname: 'Ash'
    }
]

【问题讨论】:

    标签: reactjs typescript react-hooks tsx


    【解决方案1】:
    persons.forEach(person => {
        if(this.id === person.id) person.lastname = this.lastname
    })
    

    【讨论】:

      【解决方案2】:

      您需要遍历数组并添加一个条件来检查 id 是否与 person.id 匹配,然后将 lastname 添加到该 person 对象。如果您不想更改原始数组,请选择 .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;
      })
      

      【讨论】:

        【解决方案3】:

        这是一个在不改变原始数组的情况下更新它的单行代码:

        const updatedPersons = persons.map(p => p.id === id ? {...p, lastname} : p);
        

        【讨论】:

          猜你喜欢
          • 2021-10-26
          • 2023-02-22
          • 1970-01-01
          • 1970-01-01
          • 2020-05-02
          • 2013-09-28
          • 1970-01-01
          • 2019-11-06
          • 1970-01-01
          相关资源
          最近更新 更多