Collection.prototype.find() 需要一个函数。例如:
collection.find((element) => element.name === 'Hello World')
但是,element 是一个字符串(或者我假设您没有显示 filtered_channel_names 数组)。看起来你想通过它的名字找到一个频道,你可以使用类似于上面的函数的东西。
client.channels.cache.find((c) => c.name === element).id
此外,您还可以对代码进行多项优化。首先,你可以用Array.prototype.reduce()代替forEach()。
另外,由于频道是通过 ID 映射的,因此您可以使用 findKey() 而不是 find() 来自动返回频道 ID。
// original
var filtered_channel_ids = [];
filtered_channel_names.forEach(element => filtered_channel_ids.push(client.channels.cache.find(element).id))
console.log(filtered_channel_ids);
// new and improved
var filtered_channel_ids = filtered_channel_ids.reduce((acc, name) =>
acc.push(client.channels.cache.findKey((c) => c.name === name), [])
console.log(filtered_channels_ids)