基本的にオブジェクトをパラメータとして受け取り、値を追加して配列にプッシュする単純な関数があります。forループ内のオブジェクト値を設定して配列にプッシュすると、最終的な配列項目の値はすべて同じになります
var objectFruits = {
name: 'apple'
}
var fruits = []
function pushToArray(parameters) {
var newObject;
newObject = Object.assign({}, parameters)
for (var i = 0; i < 3; i++) {
newObject.value = i
fruits.push(newObject)
console.log(newObject)
}
}
pushToArray(objectFruits)
console.log(fruits)
これは私の結果得られます。
0: {name: "apple", value: 2}
1: {name: "apple", value: 2}
2: {name: "apple", value: 2}
それがあるべきよう:
0: {name: "apple", value: 0}
1: {name: "apple", value: 1}
2: {name: "apple", value: 2}
なぜそれが最終的に配列fruits
ショーということですが各項目のvalue
は0123です?