John Cooper
John Cooper

Reputation: 7651

Get Javascript object value by key

var Array = [];

{'DateOfBirth' : '06/11/1978',
 'Phone' : '770-786',
 'Email' : '[email protected]' ,
 'Ethnicity' : 'Declined' ,
 'Race' : 'OtherRace' , }

I need to access the 'Race' here.. how can i do it... Its an array which holds this data...

Upvotes: 2

Views: 46118

Answers (3)

Jules
Jules

Reputation: 7233

var myObject = {
  'DateOfBirth' : '06/11/1978',
  'Phone' : '770-786',
  'Email' : '[email protected]' ,
  'Ethnicity' : 'Declined' ,
  'Race' : 'OtherRace'
};

// To get the value:
var race = myObject.Race;
//or
var race = myArray[index].Race;

Upvotes: 2

pimvdb
pimvdb

Reputation: 154968

A few things here.

You do not use Array, moreover, Array is actually what you can call when creating an Array, which you overwrite.

Second, you have an object ({...}), but you do not assign it to something. Do you perhaps want to store it in a variable? (var obj = {...})?

Thirdly, the last , should not be there since there aren't any more elements.

If you have stored it in a variable, you can access it like obj.Race.

Upvotes: 2

minichate
minichate

Reputation: 1944

Thats not an array, its an object. You want to do something like:

var myObject = {
  'DateOfBirth' : '06/11/1978',
  'Phone' : '770-786',
  'Email' : '[email protected]' ,
  'Ethnicity' : 'Declined' ,
  'Race' : 'OtherRace'
};

// To get the value:
var race = myObject.Race;

If the Objects are inside an array var ArrayValues = [{object}, {object}, ...]; then regular array accessors will work:

var raceName = ArrayValues[0].Race;

Or, if you want to loop over the values:

for (var i = 0; i < ArrayValues.length; i++) {
    var raceName = ArrayValues[i].Race;
}

Good documentation for arrays can be found at the Mozilla Developer Network

Upvotes: 14

Related Questions