【问题标题】:Get value from Javascript object using for loop使用 for 循环从 Javascript 对象中获取值
【发布时间】:2015-10-21 01:14:40
【问题描述】:

我在从对象的键中访问值时遇到问题。

我传入 this.fields,它在一个数组中有 2 个对象,例如,

[{'First Name': 'firstName'}, {'Last Name': 'lastName'}]

我能够使用Object.keys 函数获取键,但不知道如何获取与它们关联的值。

let properties = [];
for (let field of this.fields) {
  console.log(field);
  properties.push({
    "name": Object.keys(field),
    "value": ""
  });
}

我尝试通过this.fields[field] 来获取它,但它返回未定义。关于如何解决这个问题的任何建议?

【问题讨论】:

  • 让 1 个对象和 2 个键而不是 1 个数组和 2 个对象每个 1 个键不是更有意义吗?

标签: javascript arrays object ecmascript-6


【解决方案1】:
let properties = [];
for (let field of this.fields) {
  for (let prop in field) {
    properties.push({ "name": prop, "value": field[prop] });
  }
}

【讨论】:

  • 谢谢你这个作品,我假设一旦从数组中取出对象,我需要第二个 for 循环来遍历对象。不知道为什么我没想到!
  • 在不需要时避免使用hasOwnProperty。你的第一个版本要好得多。
【解决方案2】:

如果你只有一个键/值对,你可以这样做:

let key = Object.keys(field)[0];
let value = field[key];

【讨论】:

    猜你喜欢
    • 2020-06-13
    • 2013-04-24
    • 1970-01-01
    • 2021-11-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多