天天看點

D3.js學習筆記(1)

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();