【问题标题】:Javascript get value from an object inside an arrayJavascript从数组中的对象获取值
【发布时间】:2015-12-29 08:55:50
【问题描述】:

我有一个在数组中包含键值对的对象:

var data = [
  {
  "errorCode":100,
  "message":{},
  "name":"InternetGatewayDevice.LANDevice.1.Hosts.HostNumberOfEntries",
  "value":"2"
  }
];

我想获取对象中“value”键的值。即,输出应该是“2”。

我试过这个:

console.log(data[value]);
console.log(data.value);

两者都记录“未定义”。我在 SO 本身看到了类似的问题。但是,我无法为我的问题找到解决方案。

【问题讨论】:

  • 给定的 json 是对象数组。所以你需要指定索引号来获取值
  • console.log(data[0].Value);

标签: javascript arrays object


【解决方案1】:

您可以使用数组的 ma​​p 属性。切勿尝试通过硬编码索引值来获取值,如上述答案中所述,这可能会给您带来麻烦。对于您的情况,以下代码将起作用。

data.map(x => x.value)

【讨论】:

  • 这应该是正确的答案,你不能依赖[0]
【解决方案2】:

您正试图从数组的第一个元素中获取值。即data[0]。这将起作用:

console.log(data[0].value);

如果数组中有多个元素,请使用 JavaScript map 函数或 forEach 等其他函数来遍历数组。

data.map(x => console.log(x.value));

data.forEach(x => console.log(x.value));

【讨论】:

    【解决方案3】:

    dataArray 你需要在Array 中获取第一个元素,然后从Object 获取Value 属性,

    var data = [{
      "ErrorCode":100,
      "Message":{},
      "Name":"InternetGatewayDevice.LANDevice.1.Hosts.HostNumberOfEntries",
      "Value":"2"
    }];
    
    console.log(data[0].Value);

    【讨论】:

      【解决方案4】:

      试试这个... 其实这里Data是一个对象数组,所以你首先需要访问那个对象,然后你才能访问那个对象的Value

      var data = [
        {
        "ErrorCode":100,
        "Message":{},
        "Name":"InternetGatewayDevice.LANDevice.1.Hosts.HostNumberOfEntries",
        "Value":"2"
        }
      ];
      
      alert(data[0].Value);

      【讨论】:

        【解决方案5】:

        您要读取的是一个对象,它是数组的元素,因此您应该首先通过指定其索引来获取数组的元素,例如 data[0] 然后读取获取到的对象的一个​​属性,即.value,

        所以完整的语法是 data[0].value 希望对您有所帮助!

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2021-08-22
          • 2019-03-31
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多