配列操作
var dataArray = [10, 20, 50, 40, 30, 600];
dataArray.sort(d3.ascending))=>[10,20,30,40,50,600]
dataArray.sort(d3.descending))=>[600,50,40,30,20,10]
d3.min(dataArray)=>10
d3.max(dataArray)=>600
d3.extent(dataArray)=>[10,600]
d3.sum(dataArray)=>750
d3.mean(dataArray)=>125
d3.median(dataArray)=>35
d3.quantile(dataArray.sort(), 1)=>600
d3.quantile(dataArray.sort(), 0.5)=>35
d3.quantile(dataArray.sort(), 0.25)=>22.5
d3.bisect(dataArray, 30)=>3
d3.bisectLeft(dataArray, 30)=>2
d3.bisectRight(dataArray, 30)=>3
d3.shuffle(dataArray)=>[50,30,40,20,10,600]
Sets
var dataSet = d3.set(dataArray)
{"_":{"10":true,"20":true,"30":true,"40":true,"50":true,"600":true}}
dataSet.has(20)=>true
dataSet.has(120)=>false
dataSet.add(199);
dataSet=>{"_":{"10":true,"20":true,"30":true,"40":true,"50":true,"199":true,"600":true}}
dataSet.remove(600);
dataSet=>{"_":{"10":true,"20":true,"30":true,"40":true,"50":true,"199":true}}
dataSet.values()=>["10","20","30","40","50","199"]
連想配列操作
var dataObj={"x":10,"y":20,"z":30}
d3.keys(dataObj)=>["x","y","z"]
d3.values(dataObj)=>[10,20,30]
d3.entries(dataObj)=>[{"key":"x","value":10},{"key":"y","value":20},{"key":"z","value":30}]
Maps
var dataMap = d3.map(dataObj)
{"_":{"x":10,"y":20,"z":30}}
dataMap.has("y")=>true
dataMap.has("q")=>false
dataMap.get("y")=>20
dataMap.set("a", 10);
dataMap=>{"_":{"x":10,"y":20,"z":30,"a":10}}
dataMap.remove("z");
dataMap=>{"_":{"x":10,"y":20,"a":10}}
dataMap.keys()=>["x","y","a"]
dataMap.values()=>[10,20,10]
dataMap.entries()=>[{"key":"x","value":10},{"key":"y","value":20},{"key":"a","value":10}]
Array Operators
d3.range(10, 50, 5)=>[10,15,20,25,30,35,40,45]
d3.permute(["a", "b", "c"], [1, 2, 0]) =>["b","c","a"]
d3.zip(dataArray)=>[[50],[30],[40],[20],[10],[600]]