从对象中获取具有特定值的所有键

时间:2020-09-21 16:39:21

标签: javascript object key

我有一个名为x的对象。看起来类似于:

{
  a: 123,
  b: null,
  c: [1, 2, 3]
}

我想获取所有真实的键的名称,所以我需要获取一个看起来像["a", "c"]的数组,因为x.ax.c是真实的,但是x.b不是。我该怎么办?

1 个答案:

答案 0 :(得分:1)

您可以使用Object.keysArray.prototype.filter来做到这一点。

var x = {
  a: 123,
  b: null,
  c: [1, 2, 3]
}

var y = Object.keys(x).filter(item => !!x[item])
console.log(y)

!!运算符,引用this answer

Object转换为boolean。如果它是假的(例如0nullundefined等),则为false,否则为true

因此,假设truthyValue是真实的,而falsyValue是虚假的,!!truthyValue将始终为true,而!!falseyValue将始终为假。

相关问题