【问题标题】:JavaScript Object.keys returning empty arrayJavaScript Object.keys 返回空数组
【发布时间】:2015-11-05 18:08:48
【问题描述】:

我正在尝试从 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
}

【问题讨论】:

  • Object.keys 只返回 enumerable own 键。试试Object.getOwnPropertyNames
  • 天哪,谢谢。你救了我很多痛苦和挠头
  • 我找不到重复的 - 所以我会把它作为答案发布。

标签: javascript object


【解决方案1】:

Object.keys 只返回 enumerable 自己的 键。试试Object.getOwnPropertyNames

【讨论】:

    【解决方案2】:

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

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

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

    【讨论】:

      猜你喜欢
      • 2017-02-20
      • 1970-01-01
      • 1970-01-01
      • 2021-12-16
      • 1970-01-01
      • 1970-01-01
      • 2020-09-03
      • 1970-01-01
      • 2017-12-12
      相关资源
      最近更新 更多