Я строю небольшой конструктор мира на JavaScript (часть большого симулятора).
Я пытаюсь определить свойство объекта в функции конструктора, присвоив ему выходную функцию.
В приведенном ниже коде 'this.identifier' выполняется как талисман, но я хочу назначить более сложные функции, например, 'this.gender'.
В 'this.gender' Я хочу использовать math.random.math.floor для циклического перемещения по массиву (который имеет два значения, мужской и женский).
Когда я пишу реальную функцию, 'this.gender' удаляется из нового Человеческого объекта.
{
"identifier":42,
"lifestate":"Alive",
"health":"100",
"age":"10",
"metabolism":"12",
"econsumption":"11111",
"parent":"yes"
}
- Пол сбрасывается, как только я изменяю его на функцию.
Я пытался использовать оператор return, но это не имеет значения.
class Bluehuman {
constructor() {
this.identifier = Math.floor((Math.random() * 100));
this.lifestate = 'Alive';
this.health = '100';
this.age = '10';
this.metabolism = ['Low','Medium','High'];
this.econsumption = '11111';
this.parent = ['Yes','No'];
this.gender = ['Male','Female']; // Want to change this to a function without dropping from the new Bleuhuman object
}
}
var bluehuman = {};
var bluehumans = [];
for (var i = 0; i < 10; i++) {
bluehuman[i] = new Bluehuman();
bluehumans.push(bluehuman[i]);
}
var arrayPrint = JSON.stringify(bluehumans);
console.log(arrayPrint)
Как можно назначить вывод функции для this.gender, не удаляя его из нового объекта bluehuman?