Контекст: Я строил модель рынка недвижимости на основе агентов. У меня есть предметы домашнего обихода, которые имеют свойства и методы, и до сих пор я создал их так:Новые экземпляры объектов, генератор, массив, генерация имен
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.
Вопрос: как создать функцию, которая, по нажатию кнопки, будет генерировать определенное количество новых Houselhold
экземпляров объектов и подтолкнуть их к houseHoldArray
?
Вы можете найти более эффективный способ сделать это, но в конце концов, я хочу, чтобы иметь массив, содержащий индивидуальную информацию домочадца, которая позволит мне запустить что-то вроде этого:
for (var i = 0; i < houseHoldArray.length; i++) {
if houseHoldArray[i].isSelling {
//do something
}
houseHoldArray[i].determinMove()
}