javascript - 查找并替换数组中的匹配对象 - JavaScript

标签 javascript reactjs

我有一系列人物对象。添加新人员时,函数应检查是否已添加具有该名称的人员。如果是这样,则该对象应替换为新对象。如果尚未添加新人员,则只需将其添加到末尾即可。最好的方法是什么?

这是对象

    const people = [
    {name: Joe M, town: London},
    {name: Julie A, town: London},
    {name: Sally N, town: Edinburgh},
    {name: Max M, town: Liverpool}
  ]

这是我尝试过的

  for(let key in people) {
  if(people[key].name === newPerson.name){
    people.splice(key, 1, newPerson)
  } else {
    this.people.push(this.newPerson)
  }
}

最佳答案

方法有很多,试试这个:

  const index = people.findIndex(p => p.name === newPerson.name)

  if(index === -1) {
     people.push(newPerson);
  } else {
     people[index] = newPerson;
  }

关于javascript - 查找并替换数组中的匹配对象 - JavaScript,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53945773/

相关文章:

javascript - 如何正确显示盒子? (算法、用户界面)

javascript - Draft JS 编辑器在父组件更改其值时不更新其内容?

javascript - map 不输出任何东西,没有错误信息

reactjs - 使用 ESLint 保存时格式化文件

javascript - React 在第三方库的回调中丢失 "this"

JavaScript 输出到 innerHTML chop 页面下背景图片

javascript - 在 jQuery 中使用复选框

javascript - 何时在 dojo 中隐藏 () dijit.Dialog 与 .destroyRecursive()

javascript - 如何使音频元素更具响应性?

javascript - react : How to pass html as prop