如何将一个具有布尔值的简单对象转换为数组,只有那些值为 true 的键才会出现在数组中?
例如:
myObject = {
option1: true,
option2: false,
option3: true,
option4: true
}
变为
['option1','option3','option4']
我尝试使用建议这里的_.pick(myObject, Boolean)
,但它只是产生了一个空对象。我正在使用TypeScript,如果有任何可以帮我完成此任务的TypeScript技巧,我也可以尝试。
Object.entries(myObject).filter(([_,v]) => v).map(([k]) => k)
翻译为:获取对象myObject
中值不为空的键值对,并返回所有键组成的数组。具体实现为:先将myObject
转换为由键值对组成的数组,然后使用filter
方法筛选值不为空的键值对,最后使用map
方法只保留键名组成的数组。 - Joe Frambach