问题:通过拷贝赋值后,所有的对象的name居然都是C
test(){ let person = [{'name':'danny'}] let names = ['A','B','C'] let temp = [] names.forEach(name => { let newPerson = person[0] newPerson.name = name temp.push(newPerson) }) console.log(temp); }
解决办法:通过JSON来转换赋值(据说是深浅拷贝的问题)
let newPerson = JSON.parse( JSON.stringify(person[0]) )