我有一个名为x
的对象。它看起来像这样:
{
a: 123,
b: null,
c: [1, 2, 3]
}
我想得到所有真实的键的名称,所以我需要得到一个看起来像["a", "c"]
的数组,因为x.a
和x.c
是真实的,但x.b
不是。我该怎么做?
您可以使用Object.keys
和Array.prototype.filter
来执行此操作。
var x = {
a: 123,
b: null,
c: [1, 2, 3]
}
var y = Object.keys(x).filter(item => !!x[item])
console.log(y)
!!
操作员,引用这个答案:
将
Object
转换为boolean
。如果它是伪(例如0
、null
、undefined
等(,则它将是false
,否则为true
。
因此,假设truthyValue
为真,falsyValue
为假,则!!truthyValue
将始终为true
,而!!falseyValue
将始终为假。