javascript - 如何忽略删除关键字?

标签 javascript

我正在尝试创建一个包含命令别名和名称的数组,但是当存在带有 delete 的名称时,它会将最终数组中的值设置为 0

const commands = collection.reduce((all, command) => [...all, command.name, ...(command.aliases
        ? command.aliases.keys()
        : [])], []);

如何忽略删除关键字以在最终输出中获取单词“delete”而不是 0?

一些示例输出

Collection [Map] {
  'purge' => { name: 'purge',
    description: 'Delete multiple messages at a time (up to 99).',
    category: 'Admin',
    usage: '<amount>',
    examples: [ '5', '99' ],
    aliases: [ 'delete' ],
    args: true,
    guildOnly: true,
    execute: [Function: execute],
    default:
     { name: 'purge',
       description: 'Delete multiple messages at a time (up to 99).',
       category: 'Admin',
       usage: '<amount>',
       examples: [Array],
       aliases: [Array],
       args: true,
       guildOnly: true,
       execute: [Function: execute] } },
  'setjoin' => { name: 'setjoin',
    description:
     'Sets a message which will be sent when a new user joins the server.',
    category: 'Admin',
    usage: '<message>',
    examples:
     [ 'Welcome to the server {{member}}',
       'User {{tag}} joined the server' ],
    args: true,
    guildOnly: true,
    execute: [Function: execute],
    default:
     { name: 'setjoin',
       description:
        'Sets a message which will be sent when a new user joins the server.',
       category: 'Admin',
       usage: '<message>',
       examples: [Array],
       args: true,
       guildOnly: true,
       execute: [Function: execute] } },

最佳答案

command.aliases是一个数组。对于purge命令该数组有一个键( 0 )和一个值( 'delete' )。所以当你使用command.aliases.keys( )时您得到的是数组的索引,而不是值。

只需使用数组本身( command.aliases )即可:

const commands = collection.reduce((all, command) => [...all, command.name, ...(command.aliases
        ? command.aliases
        : [])], []);

注意:这与关键字'delete'无关。对于任何别名,您都会得到相同的行为。

关于javascript - 如何忽略删除关键字?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56137302/

相关文章:

javascript - 每当客户端请求页面时返回 URL

javascript - 如何为accounts.google.com身份验证链接(OAuth)设置X-Frame-Options => ALLOWALL?

javascript - 如何在 Reactjs 中重播 CSS3 动画

javascript - JavaScript 字符串中的不间断空格是如何表示的?

javascript - Console.log 在异步函数中不起作用

javascript - 匹配重复组

javascript - 防止屏幕向下移动到响应式下拉菜单中的 anchor

javascript - 如何在 JavaScript ECMA6 中重载构造函数?

javascript - 如何将 neo4j 查询打印到控制台? (Javascript)

javascript - 单击文本时在转发器中选择/取消选择复选框