Преобразовать коллекцию init в стандартные объекты? - PullRequest
0 голосов
/ 23 марта 2019

Как показано ниже, я вижу [init, init] при просмотре коллекции объектов в консоли.Чтобы получить прямой доступ к свойствам, я должен привести в соответствие каждый элемент, а затем проанализировать их обратно в объект, что выглядит глупо.Есть ли лучший способ сделать это?

enter image description here enter image description here

1 Ответ

1 голос
/ 23 марта 2019

Скопировав свойства экземпляра в новый объект, например, { ...init }, вы получите новый обычный объект, который не наследуется от Init.prototype:

// Look at results in browser console, not snippet console:

class Init {
  constructor() {
    this.item = 'item';
  }
}

// Your original situation:
const arrOfInits = [new Init(), new Init()];
console.log(arrOfInits);

// Assign all properties on instance to standard object:
const arrOfObjects = arrOfInits.map(init => ({ ...init }));
console.log(arrOfObjects);

Тем не менее, вы все равно должны иметь возможность доступа к свойствам в init экземплярах без какого-либо специального кода:

// Look at results in browser console, not snippet console:

class Init {
  constructor() {
    this.item = 'item';
  }
}

// Your original situation:
const arrOfInits = [new Init(), new Init()];
console.log(arrOfInits[0].item);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...