Показать сообщение отдельно
  #3 (permalink)  
Старый 27.05.2020, 19:02
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,109

A_J,
мысли вслух ...
class Data{
 constructor(){
  this.objects=[];
 }
 fillObjects(some_data){this.objects.push(...some_data.map(a => (a.self = this, a)))}
 deleteObject(id){
  this.objects.splice(id,1);
 }
}

class Obj{
constructor(n){
  this.n = n;
 }
 destructor(){
  const id = this.self.objects.findIndex(a => a === this);
  this.self.deleteObject(id)
    }
}
const getObjectsFromOutside = arr => arr.map(n => new Obj(n))
window.data=new Data();
data.fillObjects(getObjectsFromOutside([6,9,0,5])); // тут пополняется массив data.objects экземплярами Obj

console.log(data.objects);

let elem = data.objects[2];
elem.destructor();

console.log(data.objects);
Ответить с цитированием