mfroese
mfroese

Reputation: 309

How to access key values in an object using d3.js?

I have an array named "dataset" where each entry is an object with a key and value attribute, such as the following:

dataset= 
 [
 {"key":"alpha", "value": [ {}, { } ...]},
 {"key":"beta", "value": [ { }, { } ...]},
 {"key":"gamma", "value": [ {}, { } ...]},
 {"key":"delta", "value": [ { }, { } ...]}
 ];
 dataset.domain:[];
 dataset.query:[];
 dataset.range:[];

I am working with D3.JS and I am using this dataset to plot in an stacked area chart the alpha, beta, gamma, and delta values. How can I use color.domain() to assign a different color to each "key"?

Upvotes: 1

Views: 5326

Answers (1)

AmeliaBR
AmeliaBR

Reputation: 27544

To create an array that contains one property from each object in your data array, use an array mapping function:

dataset=  [
 {"key":"alpha", "value": [ {}, { } ...]},
 {"key":"beta", "value": [ { }, { } ...]},
 {"key":"gamma", "value": [ {}, { } ...]},
 {"key":"delta", "value": [ { }, { } ...]}
 ];

domain = dataset.map(function(o){return o.key});
/* domain is now ["alpha", "beta", "gamma", "delta"] */

Upvotes: 2

Related Questions