如何仅显示具有指定值的条目的对象键
How to display object key of only the entries that have a designated value
所以我有一个 discord.js
对象,它是一个成员拥有的所有权限(真或假)的列表。我正在尝试循环遍历这些条目,并且 'extract' 仅循环那些具有 true
值的条目。我已经能够根据它的值挑选出一个单一的条目,但它只有 returns 一个条目,因为我还没有遍历它。
我试过将函数插入到 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
输出显示对象内所有为真的条目。从长远来看,我会将这些条目发送给不和谐的成员。但我只需要帮助来实现我的短期目标,因为在那之后,我的能力就很好了。
如果你想获得所有键,使用filter
而不是find
:
return Object.keys(object).filter(key => object[key] === value);
所以我有一个 discord.js
对象,它是一个成员拥有的所有权限(真或假)的列表。我正在尝试循环遍历这些条目,并且 'extract' 仅循环那些具有 true
值的条目。我已经能够根据它的值挑选出一个单一的条目,但它只有 returns 一个条目,因为我还没有遍历它。
我试过将函数插入到 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
输出显示对象内所有为真的条目。从长远来看,我会将这些条目发送给不和谐的成员。但我只需要帮助来实现我的短期目标,因为在那之后,我的能力就很好了。
如果你想获得所有键,使用filter
而不是find
:
return Object.keys(object).filter(key => object[key] === value);