js中api是什麼意思

集合只是一個將多個元素組合成一個單元的物件。它也被稱為容器。本章詳細介紹了集合 API。

配置API

可以使用以下指令碼配置 API。


集合 API 方法

集合 API 包含物件、對映、集合和巢狀。以下是最常用的集合 API 方法。

  • Objects API
  • Maps API
  • Sets API
  • Nests API

讓我們詳細介紹每個 API。


Object API

Object API 是重要的資料型別之一。它支援以下方法 -

  • d3.keys(object) - 此方法包含物件屬性鍵並返回屬性名稱陣列。
  • d3.values(object) - 此方法包含物件值並返回一個屬性值陣列。
  • d3.entries(object) - 此方法用於返回包含指定物件的鍵和值的陣列。每個條目都是一個具有鍵和值的物件。

讓我們考慮以下程式碼。

d3.entries({one: 1})

這裡,key 為 one,value 為 1。

D3 collection APIvar month = {"jan": 1, "Feb": 2, "mar": 3, "apr": 4};          console.log(d3.keys(month));          console.log(d3.values(month));          console.log(d3.entries(month));

在瀏覽器控制檯中顯示結果如下


Map Api

對映包含基於鍵值對的值。每個鍵值對都稱為一個條目。Map 僅包含唯一鍵。基於鍵搜尋、更新或刪除元素很有用。讓我們詳細瞭解各種 Maps API 方法。

  • d3.map([object[, key]]) - 此方法用於建立新地圖。物件用於複製所有可列舉的屬性。
  • map.has(key) - 此方法用於檢查地圖是否具有指定鍵字串的條目。
  • map.get(key) - 此方法用於返回指定鍵字串的值。
  • map.set(key, value) - 此方法用於設定指定鍵字串的值。如果對映先前具有相同鍵字串的條目,則舊條目將替換為新值。
  • map.remove(key) - 用於刪除地圖條目。如果未指定鍵,則返回 false。
  • map.clear() - 從此地圖中刪除所有條目。
  • map.keys() - 返回此對映中每個條目的字串鍵陣列。
  • map.values() - 返回此地圖中每個條目的值陣列。
  • map.entries() - 返回此對映中每個條目的鍵值物件陣列。
  • (x) map.each(function) - 此方法用於為地圖中的每個條目呼叫指定的函式。
  • (xi) map.empty() - 當且僅當此地圖具有零個條目時才返回 true。
  • (xii) map.size() - 返回此地圖中的條目數。

D3 collection APIvar month = d3.map([{name: "jan"}, {name: "feb"}],              function(d) { return d.name; });          console.log(month.get("jan")); // {"name": "jan"}          console.log(month.get("apr")); // undefined          console.log(month.has("feb")); // true                    var map =  d3.map().set("fruit", "mango");          console.log(map.get("fruit")); // mango          console.log(map.remove("fruit")); // remove key and return true.          console.log(map.size());    // size is 0 because key removed.          console.log(map.empty());   // true

同樣,您也可以執行其他操作。


Sets API

Set 是一個不能包含重複元素的集合。它對數學集合抽象進行建模。讓我們詳細瞭解各種 Sets API 方法。

  • d3.set([array[, accessor]]) - 此方法用於建立一個新集合。陣列用於新增字串值。訪問器是可選的。
  • set.has(value) - 此方法用於檢查集合是否具有指定值字串的條目。
  • set.add(value) - 用於將指定的值字串新增到集合中。
  • set.remove(value) - 用於刪除包含指定值字串的集合。
  • set.clear() - 從此集合中刪除所有值。
  • set.values() - 此方法用於將值陣列返回到集合。
  • set.empty() - 當且僅當此集合具有零值時才返回 true。
  • set.size() - 返回此集合中值的數量。

D3 collection APIvar fruits =  d3.set().add("mango")           .add("apple").add("orange");          console.log(fruits.has("grapes")); // return false.          console.log(fruits.remove("apple")); //true          console.log(fruits.size());    // size is 2          console.log(fruits.empty());   // true

同樣,我們也可以執行其他操作。


Nested Api

巢狀 API 包含陣列中的元素並以分層樹結構執行。讓我們詳細瞭解各種 Nests API 方法。

  • d3.nest() - 此方法用於建立一個新的巢狀。
  • nest.key(key) - 此方法用於初始化新的鍵函式。此函式用於呼叫輸入陣列中的每個元素並返回組中的元素。
  • nest.sortKeys(comparator) - 此方法用於對指定比較器中的鍵進行排序。函式定義為 d3.ascending 或 d3.descending。
  • nest.sortValues(comparator) - 此方法用於對指定比較器中的值進行排序。比較器函式對葉元素進行排序。
  • nest.map(array) - 此方法用於應用指定的陣列並返回巢狀對映。返回對映中的每個條目對應於第一個鍵函式返回的不同鍵值。條目值取決於註冊的鍵功能的數量。
  • nest.object(array) - 此方法用於將巢狀運算子應用於指定的陣列並返回巢狀物件。
  • nest.entries(array) - 此方法用於將巢狀運算子應用於指定的陣列並返回鍵值條目陣列。

D3 Nest APIvar data = [             {                "color" : "red",                "key" : 1             },             {                "color" : "green",                "key" : 2             },             {                "color" : "blue",                "key" : 75             }          ]          var nest =  d3.nest()             .key(function (d) { return d.color; })             .entries(data);          console.log(nest);          var filter = nest.filter(function (d) { return d.key === 'red' })          console.log(filter);

上述程式碼執行結果如下