JAVASCRIPT/ Kotlin Состояние переменной
Есть класс студент, на основе которого строится массив студентов в отдельном файле. В другом файле происходит сортировка массива, в которой происходит очищение состояния массива функцией clear
Есть функция окрашивания конкретного студента которая выполняется до того как выполнена сортировка.
Вопрос:
как сохранить состояние студента (то что он поменял цвет с черного на розовый) что бы после сортировки его цвет сохранялся?
На рисунке один файл students, на рисунке два файл main в котором есть ещё функция сортировки в которой происходит очищение
Ответы (1 шт):
Вам необходимо создать в каждом объекте метод регулирования цветом, т.е. функцию, к которой вы будете обращаться для смены состояния цвета и менять цвет перед тем как кидать объект в массив.
Основная идея в том, чтобы вы где-то хранили значение цвета. В моем примере - это elDOM, который хранит вообще целый элемент дома.
let students = [];
class Student {
constructor(firstname, surename, presence) {
this.firstname = firstname;
this.surename = surename;
this.presence = presence;
this.elDOM = null;
}
putIntoPage() {
this.elDOM = document.createElement('div');
this.elDOM.innerHTML = `<p> ${this.firstname} ${this.surename} </p>`;
document.body.append(this.elDOM);
}
colorify() {
if (this.presence === true) {
this.elDOM.style.color = "grey";
this.presence = false;
} else {
this.elDOM.style.color = "white";
this.presence = true;
}
}
};
let student = new Student("masha", "avoska", true);
student.putIntoPage();
student.colorify();
students.push(student);
console.log(students);

