JavaScript / NodeJS Добавить в Caller Объект функции - PullRequest
0 голосов
/ 19 мая 2018

Итак, я создал функцию конструктора в Node.JS, и у меня возникли некоторые проблемы.

function server(server) {
    this.channels = new Array
    var channels = server.channels.array(); // Gets array of Channel  Objects

    channels.forEach(function(selectedchannel){
       if (selectedchannel.constructor.name == "TextChannel") {
            channels.push(selectedchannel.name)          // <- Here
      }
   });

Я хочу добавить имена всех каналов в массив this.channels, каналы.push добавит к channel-variable, а this.channels.push выберет анонимную функцию, которую я передал forEach.Как мне это сделать?(Я нуб, помилуй)

1 Ответ

0 голосов
/ 19 мая 2018

Вы можете попробовать это:

function Server(server) {
    let channels = server.channels.array();

    this.channels = channels.map(selectedchannel => {
       if (selectedchannel.constructor.name === 'TextChannel') {
            return selectedchannel.name;
      }
    }).filter(data => !!data);
}

Функции конструктора должны начинаться с заглавных букв.Вызывать конструкторы для массива, функции и других типов необязательно, но вызывать его без скобок неправильно.Функция отображения массива возвращает новый массив, и фильтр удаляет пустые / ложные значения.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...