返回空数组的JavaScript Object.keys

返回空数组的JavaScript Object.keys,javascript,object,Javascript,Object,我正在尝试从JavaScript对象获取密钥。当我检查对象时,我可以看到对象上有一个键值对,但当我运行object.keys(myObject)时,返回一个空数组。我做错了什么 我在这里遵循以下文档: 创建对象的函数如下所示: query: function () { var query = {} _.each(this.$el.find('input:checked'), function (el, index) { Object.defineProperty(query,

我正在尝试从JavaScript对象获取密钥。当我检查对象时,我可以看到对象上有一个键值对,但当我运行
object.keys(myObject)
时,返回一个空数组。我做错了什么

我在这里遵循以下文档:

创建对象的函数如下所示:

query: function () {
  var query = {}
  _.each(this.$el.find('input:checked'), function (el, index) {
    Object.defineProperty(query, el.id, {value: el.value})
  })
  return query
}

Object.keys
仅返回可枚举的自有密钥。尝试
Object.getOwnPropertyNames
控制台。log
打印其内容的最新值,而不是该内容在特定执行时间的值

要记录数组,请尝试将其值深度克隆到另一个变量,然后控制台记录它

 console.log(JSON.parse(JSON.stringify(keys)));

Object.keys
仅返回可枚举的自有密钥。试试
Object.getOwnPropertyNames
。谢谢。你帮我省去了很多痛苦和挠头我找不到一个副本,所以我会把它作为一个答案贴出来。