无法读取属性';forEach&x27;express网站中未定义的

无法读取属性';forEach&x27;express网站中未定义的,express,discord.js,Express,Discord.js,web.js: manage.ejs(用于管理的公会页面): { 如果(channel.type!=“text”&&channel.type!=“news”)返回; channel.name=channel.name.replace(“-”,“”) 让标记; 如果(channel.type==“text”)标记=”#️⃣" if(channel.type==“news”)marks=“addconsole.log(guild.channels);在guild.channels.cache.for

web.js:

manage.ejs(用于管理的公会页面):

{
如果(channel.type!=“text”&&channel.type!=“news”)返回;
channel.name=channel.name.replace(“-”,“”)
让标记;
如果(channel.type==“text”)标记=”#️⃣"

if(channel.type==“news”)marks=“add
console.log(guild.channels);
guild.channels.cache.forEach(…
)之前添加
cache
属性的值是多少?@MichaelRovinsky
['8356435963392759297','8356435963392759298','83564359692759299','8356435963392759300']
So
cache
是一个字符串数组。但是
channel=>{if(channel.type!==“text”&channel.type!==“news”)…
表示数组中的每个项都是一个具有
type
属性的对象
   let login = req.cookies["login"] ? req.cookies["login"] : null;
   var guilds = await oauth.getUserGuilds(login).catch(() => null);
   let guildx = guilds.find(i => i.id === req.params.guildID);
   let guild = (await client.shard.fetchClientValues('guilds.cache')).flat().filter(i => i.id === guildx.id)[0];