だけ受け入れ答えに1以外にも、いくつかのより多くの情報を追加する:あなたは、特定の昆虫を取得したい場合は
、そしてあなたの場合配列内の位置を知っているように見えますが、これは必要なものです:
var someInsect = data_group[i].values[j].insect;
//outer object ----^ ^---- inner object
ariable、インデックスi
は、特定のレベルの痛みを持つすべての昆虫と、外側のオブジェクトを指します。その中で、インデックスj
は特定の昆虫を持つ内側のオブジェクトを指します。
たとえば、次のデモを確認してください(データをロードするのに<pre>
を使用しています)。ここでデータを取得し、それを入れ子にします。このデモでは、私が使用している、タランチュラの鷹を取得するには:もちろん
var someInsect = data_group[0].values[1].insect;
var data = d3.csvParse(d3.select("#data").text());
var data_group = d3.nest()
.key(d => d.painIndex)
.entries(data);
var someInsect = data_group[0].values[1].insect;
console.log(someInsect);
pre {
display: none;
}
<script src="https://d3js.org/d3.v4.min.js"></script>
<pre id="data">insect,painIndex
fire ant,4
honey wasp,1
warrios wasp,3
paper wasp,1
velvet ant,2
tarantula hawk,4
bullet ant,4</pre>
、その変数は、あなたが望む昆虫に応じて変化します。
もう1つの可能性は、あなたが名前で欲しい昆虫の痛みレベルを取得していることです。
myInsect
あなたは
filter
に使用します昆虫の名前を保持している
var filtered = [].concat.apply([], data_group.map(function(d) {
return d.values
})).filter(function(d) {
return d.insect === myInsect
})[0].painIndex;
:あなたのネストされた配列では、それがで行うことができます。
チェック我々はタランチュラの鷹の痛み値取得この他のデモ、:もちろん
var data = d3.csvParse(d3.select("#data").text());
var data_group = d3.nest()
.key(d => d.painIndex)
.entries(data);
var myInsect = "tarantula hawk"
var filtered = [].concat.apply([], data_group.map(function(d) {
return d.values
})).filter(function(d) {
return d.insect === myInsect
})[0].painIndex;
console.log(filtered);
pre {
\t display: none;
}
<script src="https://d3js.org/d3.v4.min.js"></script>
<pre id="data">insect,painIndex
fire ant,4
honey wasp,1
warrios wasp,3
paper wasp,1
velvet ant,2
tarantula hawk,4
bullet ant,4</pre>
、このすべてを(キーの値を取得し、値が依存取得他の値など)は、オリジナルの配列をネストされたものの代わりに使用すると簡単になります。
各配列のすべてのインスタンスを見つけることは可能ですか? – st4rgut
@ st4rgut私の編集を参照してください。私はあなたが何を意味するのかを考えています。 – Jack