1.filter
selection.filter(function(d,i){
if(d>20)return true;
else return false;
})
這個函數傳回結果是過濾掉綁定資料中所有小于20的數
2.each()
selection.each(function(d,i){
d:每一個标簽
i:對應的下角标
})
3.call()
function myfun(selection){
selection.attr(“name”,“value”);
}
selection.call(myfun);
等價于
myfun(selection);
這裡差別得于原生js得點在于,這裡selection調用函數 既是函數this也可以當參數。
4.sort()
arr.sort(d3.ascending);
[1,2,3]
升序排列
arr.sort(d3.descending);
[3,2,1]
降序排列
sort()預設是d3.ascending
5.求值
d3.min(arr);輸出最大值
d3.max(arr);輸出最小值
d3.extend(arr);輸出一個數組 裡面有最大和最小值
d3.sum(arr);求和如果為空則傳回0;
d3.mean(arr);求平均值如果數組為空則傳回undefined
d3.median(arr);求數組的中間值,如果數組為空,則傳回undefined
6.操作數組
d3.shuffle(arr);重新排列數組
d3.merge(arr,arr);合并數組
7.Map
d3.map([object],[key]);建構映射
map.has(key);如果指定的key存在傳回true,反之則傳回false;
map.get(key);如果指定的key存在,則傳回value,否則傳回undefined
map.set(key,value)設定指定的key ,存在則覆寫沒有則添加
map.remove(key)
map.size()
map.empty()不是空的傳回false
8.Set
d3.set(arr);使用數組建構集合,如果數組裡有重複的元素,則隻添加其中一項
set.has(value);
set.add(value);沒有才添加
set.remove(value);
set.values();以數組形式傳回集合中所有的元素
set.forEach(funtion(d){d:set中每一個元素});
set.empty();
set.size();