【问题标题】:How to display object key of only the entries that have a designated value如何仅显示具有指定值的条目的对象键
【发布时间】:2019-10-03 04:25:26
【问题描述】:

所以我有一个discord.js 对象,它是成员拥有的所有权限(真或假)的列表。我正在尝试遍历这些条目并仅“提取”具有true 值的条目。我已经能够根据其值挑选出一个单数条目,但它只返回一个条目,因为我还没有循环它。

我尝试将函数插入到 for/in 循环中。但我相信我做错了,因为它没有根据条目的值过滤条目。

这是我目前拥有的用于显示单数条目的代码。

let memPerms = message.member.permissions.serialize(true)
    function getKeyByValue(object, value) {
        return Object.keys(object).find(key => object[key] === value);
    }
    message.channel.send(getKeyByValue(memPerms, true))

短期内,我希望能够console.log 输出,它显示对象内所有为真的条目。从长远来看,我会将这些条目发送给不和谐中的成员。但我只需要帮助来实现我的短期目标,因为在那之后,我的能力就很好了。

【问题讨论】:

    标签: javascript arrays object ecmascript-6 discord.js


    【解决方案1】:

    如果您想获得所有密钥,请使用filter 而不是find

    return Object.keys(object).filter(key => object[key] === value);
    

    【讨论】:

    • 哇,从没想过我会对这么简单的答案如此脑残。谢谢!
    • 没问题@Timesis,总是乐于提供帮助。
    猜你喜欢
    • 2021-06-20
    • 2021-09-25
    • 2021-11-04
    • 1970-01-01
    • 1970-01-01
    • 2012-11-04
    • 1970-01-01
    • 2021-03-12
    • 2023-03-12
    相关资源
    最近更新 更多