2
上下文:我正在构建一个基于代理的模型房地产市场模拟。我有一个具有属性和方法,到目前为止,我已经创造了他们这样的家用物品:新对象实例,生成器,数组,名称生成
var houseHoldArray = [];
var Household = function(name, house) {
this.name = name;
this.house = house.address;
this.x = house.x;
this.y = house.y;
this.isHomeOwner = true;
this.isSelling = false;
};
Household.prototype.draw = function() {
ellipse(this.x, this.y, 10, 10);
};
Household.prototype.determinMove = function() {
if(random(0, 100) <= 75){
this.isSelling = true;
}
};
var household1 = new Household("Smith", house1);
var household2 = new Household("Black", house2);
var household3 = new Household("Johnson", house3);
var household4 = new Household("Williams", house4);
var household5 = new Household("Jones", house5);
houseHoldArray.push(household1, household2, household3, household4, household5);
household1.draw();
household2.draw();
household3.draw();
household4.draw();
household5.draw();
我现在要创建一个函数,触发在点击一个按钮,会自动创建一定数量的新家庭实例并将它们存储在数组中,因为稍后需要使用for循环遍历它们,并根据它们的isSelling和isHomeowner属性的状态执行某些操作。
问题:我该如何创建一个函数,点击一个按钮后,会生成一定数量的新对象实例并将它们推送到houseHoldArray
?
您可能会发现一个更有效的方式做到这一点,但在最后,我想有一个包含个人家庭的信息,让我跑像这样的数组:
for (var i = 0; i < houseHoldArray.length; i++) {
if houseHoldArray[i].isSelling {
//do something
}
houseHoldArray[i].determinMove()
}