0
の配列の数に変換:私は「しかしD3私はこのようなデータセット持つオブジェクト
d3.max(data, function(d){ return d.number;})
:
var data = [{state: "CA", number: "3"},{}...];
私はこれを使って、データセットの最大数を取得したいが正解を得られない。これを修正する方法に関する提案はありますか?
の配列の数に変換:私は「しかしD3私はこのようなデータセット持つオブジェクト
d3.max(data, function(d){ return d.number;})
:
var data = [{state: "CA", number: "3"},{}...];
私はこれを使って、データセットの最大数を取得したいが正解を得られない。これを修正する方法に関する提案はありますか?
現在、の文字列と比較しているため、結果が期待どおりにならない場合があります。例えば
、このデモを確認してください。
var data = [{
state: "CA",
number: "3"
}, {
state: "NY",
number: "5"
}, {
state: "PA",
number: "41"
}];
var max = d3.max(data, function(d) {
return d.number;
});
console.log("Max is: " + max)
<script src="https://d3js.org/d3.v4.min.js"></script>
あなたは最大で41
だと思います。ただし、実際には「最高」の文字列である"5"
を返します。
ソリューション:(+
、単項プラス演算子を使用して、ここに)数値にあなたの文字列を変換:
var data = [{
state: "CA",
number: "3"
}, {
state: "NY",
number: "5"
}, {
state: "PA",
number: "41"
}];
var max = d3.max(data, function(d) {
return +d.number;
// ^--- unary plus
});
console.log("Max is: " + max)
<script src="https://d3js.org/d3.v4.min.js"></script>