Discord. js сборник; как перемещаться и брать / подсчитывать объекты из массива в коллекции - PullRequest
0 голосов
/ 08 мая 2020

У меня разногласия. js Collection как показано здесь: enter image description here

Collection(1) [Map] {
  '403547647215927306' => {
    dispatcher: StreamDispatcher {
      _writableState: [WritableState],
      writable: true,
      _events: [Object: null prototype],
      _eventsCount: 5,
      _maxListeners: undefined,
      player: [AudioPlayer],
      streamOptions: [Object],
      streams: [Object],
      _nonce: 2369,
      _nonceBuffer: <Buffer 00 00 09 41 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00>,
      pausedSince: null,
      _writeCallback: [Function (anonymous)],
      broadcast: undefined,
      _pausedTime: 0,
      _silentPausedTime: 0,
      count: 2369,
      startTime: 1588923698004,
      [Symbol(kCapture)]: false
    },
    queue: [ [Object], [Object], [Object] ],
    connection: null,
    position: 0
  }
}

Я хочу разделить и подсчитать количество диспетчеров и количество объектов в очереди (ах). Мне удалось получить #dispatcher (ы), используя

var playlistCount = client.playlists.filter(q => q.dispatcher).size // returns 1 for code, 2 for image

, но используя аналогичный метод

var playlistList = client.playlists.filter(q => q.queue).size // returns 1 for code, 2 for image

Это должно быть 3 песен в очереди, а не 1 (или 2 на изображении) активна очередь. Может ли кто-нибудь посоветовать, как фильтровать объекты очереди, чтобы вернуть размер / длину / количество?

queue массив, если это необходимо enter image description here

1 Ответ

0 голосов
/ 08 мая 2020

Вы можете использовать find(), чтобы найти queue и получить его length

var playlistList = client.playlists.find(playlist => playlist.queue).length
...