JavaScript Object.keys返回空数组

15

我试图从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
}

8
Object.keys 只返回可 枚举的自有 属性键。尝试使用 Object.getOwnPropertyNames - Benjamin Gruenbaum
哇,谢谢你。你帮我省去了很多痛苦和困惑。 - Linda Keating
我找不到重复的内容,所以我会将它发布为答案。 - Benjamin Gruenbaum
https://dev59.com/t2Eh5IYBdhLWcg3wNxPM - prasun
2个回答

19

Object.keys 只返回可枚举的自身属性键名。尝试使用 Object.getOwnPropertyNames


6

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

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

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

这个回答值得更多的赞誉。非常感谢你! - Puka

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接