オブジェクトの配列を格納したいと思いますが、オブジェクトが配列に格納された後、その配列への参照によって元の値が変更されます。オブジェクトを配列に格納すると、値が上書きされます
は"use strict"
var array = []
var object = {}
object.animal = "Cow"
array.push(object)
object.animal = "Chicken"
array.push(object)
console.log(array) //[ { animal: 'Chicken' }, { animal: 'Chicken' } ]
編集:私は今、オブジェクトを理解 は、配列の参照として保存されます。あなたは、それが唯一の「プッシュ」配列へのobject
だとき
"use strict"
var array = []
var object = {}
var people = ["Mike Brown", "John Brown", "Mary Sue"]
var fname, sname
people.forEach(function(person) {
[fname, sname] = person.split(" ")
object.name = person
object.fname = fname
object.sname = sname
array.push(object)
})
何エディットあたりとしてループのシナリオではどうですか? – Dercni
"var object = {}"行をループ内に移動します。 – ash