Discord.js集合;如何从集合的数组中导航和获取/计数对象

问题描述 投票:0回答:1

我有一个discord.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(s)
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

javascript arrays node.js discord.js
1个回答
0
投票

您可以使用find()查找queue并获取其length

var playlistList = client.playlists.find(playlist => playlist.queue).length
© www.soinside.com 2019 - 2024. All rights reserved.