You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Discord.js v13访问Collection报错.array()不是函数该如何处理

Discord.js v13 Collection.array() 报错解决方案

根因说明

Discord.js v13 对内置Collection类做了不兼容升级,原有的.array()实例方法已被官方移除,这是你触发TypeError: xxx.array is not a function报错的直接原因。

适配写法

针对你需要取Collection首元素的场景,共有3种可行的适配方案:

  • 方案1:用原生Array.from完成Collection到数组的转换,完全兼容原有逻辑
    Array.from(msg)[0].embeds[0]
    
  • 方案2:用ES6扩展运算符转换,写法更简洁
    [...msg][0].embeds[0]
    
  • 方案3:直接调用Collection内置方法取值(推荐,无需全量转数组,性能更好)
    取首元素可直接用.first()方法:
    msg.first().embeds[0]
    
    取指定下标元素可直接用.at()方法,用法和数组的at语法完全一致:
    // 示例:取下标为2的元素
    msg.at(2).embeds[0]
    

注意事项

上述所有方案适用于所有返回Collection类型的Discord.js API场景,包括频道消息拉取、服务器成员查询、角色列表查询等。

内容的提问来源于stack exchange,提问作者Joaquin Parada

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.25 19:36:03