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