整理資料的APIs

d3 Array

d3 Array 分類中包含的子項目

  • Statistics 統計數據
  • Search 尋找
  • Transformations 改變結構
  • Iterables 迭代
  • Sets 數組
  • Histograms 直條圖
  • Interning

1. d3.min( )、d3.max( ) ⇒ 取最小值/最大值

程式碼

            
              //JS
              // d3.min、d3.max Number
              const numberData = [7, 5, 1, 13, 55, 2, 64, null];
              const minNumber = d3.min(numberData);
              const maxNumber = d3.max(numberData);
              console.log("min max number", minNumber, maxNumber); // 1, 64

              // d3.min、d3.max String
              const stringData = ["狗", "貓", "羊", "豬"];
              const minString = d3.min(stringData);
              const maxString = d3.max(stringData);
              console.log("min max stirng", minString, maxString); // '狗' '貓'
            
          

2. d3.extent( ) ⇒ 同時返回最大與最小值

程式碼

            
              //JS
              const extentData = [7, 5, 1, 13, 55, 2, 64, null];
              const extent = d3.extent(extentData);
              console.log("extent", extent); // [1, 64]
            
          

3. d3.sum( ) ⇒ 把資料加總

程式碼

            
              //JS
              // 數字可以加總
              const sumNumberData = [7, 5, 1, 13, 55, 2, 64, null];
              const sum = d3.sum(sumNumberData);
              console.log("sum number", sum); // 147

              // 字串無法加總
              const sumStringData = ["狗", "貓", "羊", "豬"];
              const sumString = d3.sum(sumStringData);
              console.log("sum string", sumString); // 0
            
          

4. d3.every( ) ⇒ 遍歷資料陣列,確認陣列內的值是否全都符合條件

程式碼

            
              //JS
              const everData = [7, 5, 1, 13, 55, 2, 64];
              const isAllIntegersBiggerThanTwenty = d3.every(everData, (d) => d > 20);
              console.log("every >20", isAllIntegersBiggerThanTwenty); // false
            
          

5. d3.some( ) ⇒ 遍歷資料陣列,確認陣列內的任一資料是否符合條件

程式碼

            
              //JS
              const someData = [7, 5, 1, 13, 55, 2, 64];
              const isAllDataBiggerThanTen = d3.some(someData, (d) => d > 10);
              console.log("some >10", isAllDataBiggerThanTen); // true
            
          

6. d3.filter( ) ⇒ 遍歷資料陣列,返還陣列內所有符合條件的資料

程式碼

            
                //JS
                const filterData = [7, 5, 1, 13, 55, 2, 64];
                const filter = d3.filter(filterData, (d) => d > 10);
                console.log("filter", filter); // [13, 55, 64]
            
          

7. d3.sort( ) ⇒ 按照條件排序資料陣列

程式碼

            
              //JS
              const sortData = [7, 5, 1, 13, 55, 2, 64, null];
              const sort = d3.sort(sortData);
              console.log("sort", sort); // [1, 2, 5, 7, 13, 55, 64, null]