user4571995
user4571995

Reputation:

Javascript get value from an object inside an array

I have an object with key value pairs inside an array:

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

I want to get the value of "value" key in the object. ie, the output should be "2".

I tried this:

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

Both logging "undefined". I saw similar questions in SO itself. But, I couldn't figure out a solution for my problem.

Upvotes: 12

Views: 85252

Answers (5)

Abhijith Sasikumar
Abhijith Sasikumar

Reputation: 14990

You are trying to get the value from the first element of the array. ie, data[0]. This will work:

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

If you have multiple elements in the array, use JavaScript map function or some other function like forEach to iterate through the arrays.

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

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

Upvotes: 18

leox
leox

Reputation: 1345

You can use the map property of the array. Never try to get the value by hardcoding the index value, as mentioned in the above answers, Which might get you in trouble. For your case the below code will works.

data.map(x => x.value)

Upvotes: 28

ashish1dev
ashish1dev

Reputation: 81

what you are trying to read is an object which an element of an array, so you should first fetch the element of array by specifying its index like data[0] and then read a property of the fetched object, i.e. .value,

so the complete syntax would be data[0].value Hope it helps !

Upvotes: 1

Anand Singh
Anand Singh

Reputation: 2363

Try this... Actually Here Data is an array of object so you first need to access that object and then you can access Value of that object.

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

alert(data[0].Value);

Upvotes: 5

Oleksandr T.
Oleksandr T.

Reputation: 77482

data is Array you need get first element in Array and then get Value property from Object,

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

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

Upvotes: 5

Related Questions