Javascript从数组内的对象中获取值

9 javascript arrays object

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

var data = [
  {
  "errorCode":100,
  "message":{},
  "name":"InternetGatewayDevice.LANDevice.1.Hosts.HostNumberOfEntries",
  "value":"2"
  }
];
Run Code Online (Sandbox Code Playgroud)

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

我试过这个:

console.log(data[value]);
console.log(data.value);
Run Code Online (Sandbox Code Playgroud)

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

leo*_*eox 21

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

data.map(x => x.value)
Run Code Online (Sandbox Code Playgroud)

  • 这应该是正确的答案,你不能依赖 [0] (3认同)

Abh*_*mar 11

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

console.log(data[0].value);
Run Code Online (Sandbox Code Playgroud)


Ale*_* T. 5

dataArray你需要得到第一个元素Array,然后得到Value物业Object

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

console.log(data[0].Value);
Run Code Online (Sandbox Code Playgroud)


Ana*_*ngh 5

试试这个...实际上这Data是一个对象数组,因此您首先需要访问该对象,然后才能访问Value该对象。

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

alert(data[0].Value);
Run Code Online (Sandbox Code Playgroud)