【问题标题】:Access javascript object properties using loop [duplicate]使用循环访问javascript对象属性[重复]
【发布时间】:2017-04-04 14:45:32
【问题描述】:

如何使用for 循环访问对象obj 属性?

示例:

var obj = {
        id: 1,
        description: "This space is for description",
        severity: "This is severity",
        assignedTo: "Name of the assigned person",
        status: "Issue Status "
    }

注意:我说的是这种循环for (var i =0;i <= obj.length;i++),而不是for ... in 循环。我想使用document.write() 显示它。请不要 jquery,只有 javascript。

【问题讨论】:

  • @Kinduser Object.keys() 的选项在那里,所以它应该对 OP 有所帮助
  • for..in 只是 JavaScript,你仍然可以这样做 document.write() 你对 for...in 有什么具体问题吗?
  • 这个骗子answer 提供了Object.keys 的使用。它清楚地指出,结果是一个带有键的数组。然后用 for i ... 循环遍历数组。
  • Iterate through object properties 的可能重复项使用Objects.keys() 在重复项中查看此答案► stackoverflow.com/questions/8312459/….foreach 可以很容易地被for i 替换为Object.keys() 的结果跨度>
  • @squint,也许主要问题是,如何使用带有参数的 document.write ...?

标签: javascript loops object


【解决方案1】:

您可以将for 循环与Object.keys() 一起使用。

注意:正如squint提到的,它不保证正确的顺序。

var obj = {
  id: 1,
  description: "This space is for description",
  severity: "This is severity",
  assignedTo: "Name of the assigned person",
  status: "Issue Status "
}, elems = Object.keys(obj);

for (var i = 0; i < elems.length; i++) {
  document.write(`Key: ${elems[i]}, Value: ${obj[elems[i]]}<br>`);
}

【讨论】:

  • @squint 我所说的 order 是键的顺序,取决于它们何时被定义(或设置)!
  • @ibrahimmahrir:是的,最初的定义顺序是一些人可能希望的,但我认为 Kind 用户的回答给出了警告。实现可能确实会选择遵守该顺序,但我们不应该依赖它。
  • ...我真的希望 JS 实现能够随机化顺序,这样人们就不会产生它可能是可靠的错觉。
猜你喜欢
  • 2016-08-18
  • 2015-10-07
  • 2012-11-28
  • 1970-01-01
  • 2014-08-04
  • 2013-12-07
  • 2013-10-29
  • 2018-11-02
  • 2015-08-30
相关资源
最近更新 更多