下面是我有一個對象的簡化示例。我想要做的是當我調用更新方法時,它會根據所有對象進行更新。所以,我需要跟蹤莫名其妙的所有對象(我能做到這遊戲對象中?或者我需要包裝嗎?)獲取所有實例化的javascript對象並更新值
var Game = function() {
this.data = [];
}
Game.prototype = {
add: function(game) {
this.data.push(game);
},
update: function(game) {
for(i = 0; i < this.data.length; i++) {
if(this.data[i].id == game.id) {
this.data[i].name = game.name;
}
}
},
get: function() {
console.log(this.data);
}
}
var g1 = new Game;
g1.add({id: '5', name: 'firstname'});
g1.add({id: '6', name: 'secondname'});
var g2 = new Game;
g2.add({id: '5', name: 'firstname'});
g2.add({id: '6', name: 'secondname'});
g1.update({id: '5', name: 'firstname-updated'})
g1.get();
g2.get();
基本上,如果你運行它,你會看到g1.get()使用更新後的id 5寫入數據,其中as g2將仍然具有名稱爲'firstname'的原始id 5。
非常感謝您的幫助!
編輯:只是想補充,我仍然希望那裏有多個對象。並不總是,每個對象都有匹配的ID。但如果他們這樣做,他們都應該更新。