如何仅显示具有指定值的条目的对象键
Posted
技术标签:
【中文标题】如何仅显示具有指定值的条目的对象键【英文标题】: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
输出,它显示对象内所有为真的条目。从长远来看,我会将这些条目发送给不和谐中的成员。但我只需要帮助来实现我的短期目标,因为在那之后,我的能力就很好了。
【问题讨论】:
【参考方案1】:如果您想获得所有密钥,请使用filter
而不是find
:
return Object.keys(object).filter(key => object[key] === value);
【讨论】:
哇,从没想过我会对这么简单的答案如此脑残。谢谢! 没问题@Timesis,总是乐于提供帮助。以上是关于如何仅显示具有指定值的条目的对象键的主要内容,如果未能解决你的问题,请参考以下文章
如何使用 Swifty 动态创建具有多个键和值的 json 对象