JavaScript Object.keys返回空数组

Lin*_*ing 5 javascript object

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

在此输入图像描述

我在这里关注此文档:https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/keys

创建对象的功能如下:

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

Ben*_*aum 12

Object.keys只返回枚举 自己的密钥.试试Object.getOwnPropertyNames.


Div*_*raj 6

Console.log打印其内容的最新值,而不是该内容在特定执行时间的值。

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

 console.log(JSON.parse(JSON.stringify(keys)));
Run Code Online (Sandbox Code Playgroud)