Javascript Discord.js:是否有一个函数可以检查用户是否拥有列组数组中的列组

Javascript Discord.js:是否有一个函数可以检查用户是否拥有列组数组中的列组,javascript,arrays,discord.js,Javascript,Arrays,Discord.js,我目前正在开发一个discord机器人,它有多个仅用于特定角色的命令。 我目前拥有所有允许在数组中使用命令的角色,下面的代码可以正常工作 for (var i = 0; i < Config.AllowedRanks.length; i++) { if (message.member.roles.cache.has(Config.AllowedRanks[i])){ console.log("Access G

我目前正在开发一个discord机器人,它有多个仅用于特定角色的命令。 我目前拥有所有允许在数组中使用命令的角色,下面的代码可以正常工作

        for (var i = 0; i < Config.AllowedRanks.length; i++) {
            if (message.member.roles.cache.has(Config.AllowedRanks[i])){
                console.log("Access Granted")
        }
     }

对于这种特定情况,我们希望使用
.some()
方法,该方法循环遍历整个数组,并检查是否至少有一个元素符合特定条件

例如,让我们创建一个角色ID数组:

const roles = ['id1', 'id2', 'id3'];
从这里我们可以做的是获取我们创建的数组,并使用
.some()
方法检查作者是否至少有一个角色具有上述ID之一

最终代码
分别,同样的方法也适用于
.every()
方法,该方法检查数组的所有元素是否符合条件-在我们的例子中,如果用户具有上述所有角色。

最后的代码中有一些错误,但经过一些修补后,它最终成功了。有关正确的代码,请参见问题。意外错过了一个
,woopsie。
        if (Config.AllowedRanks.some(role => message.member.roles.cache.get(role))){
            console.log("Access Granted")
        } else{
            console.log("Access Denied")
        }
const roles = ['id1', 'id2', 'id3'];
const roles = ['id1', 'id2', 'id3'];
if (roles.some(role => message.member.roles.cache.get(role))) console.log('Access Granted.');
else console.log('Access Denied.');