Коллекция — это просто объект, который группирует несколько элементов в одну единицу. Он также называется контейнером. Эта глава подробно описывает API коллекций.
Конфигурирование API
Вы можете настроить API, используя следующий скрипт.
<script src = "https://d3js.org/d3-collection.v1.min.js"></script> <script> </script>
Методы API коллекций
API коллекций содержит объекты, карты, наборы и гнезда. Ниже приведены наиболее часто используемые методы API коллекций.
- API объектов
- API Карт
- Устанавливает API
- API гнезд
Давайте подробно рассмотрим каждый из этих API.
API объектов
Object API является одним из важных типов данных. Поддерживаются следующие методы —
-
d3.keys (object) — этот метод содержит ключи свойств объекта и возвращает массив имен свойств.
-
d3.values (object) — этот метод содержит значения объекта и возвращает массив значений свойств.
-
d3.entries (объект) — этот метод используется для возврата массива, содержащего как ключи, так и значения указанного объекта. Каждая запись — это объект с ключом и значением.
d3.keys (object) — этот метод содержит ключи свойств объекта и возвращает массив имен свойств.
d3.values (object) — этот метод содержит значения объекта и возвращает массив значений свойств.
d3.entries (объект) — этот метод используется для возврата массива, содержащего как ключи, так и значения указанного объекта. Каждая запись — это объект с ключом и значением.
Пример. Рассмотрим следующий код.
d3.entries({one: 1})
Здесь ключ равен единице, а значение равно 1.
Пример. Создайте веб-страницу objects.html и добавьте в нее следующие изменения.
<html> <head> <script type = "text/javascript" src = "https://d3js.org/d3.v4.min.js"></script> </head> <body> <h3>D3 collection API</h3> <script> var month = {"jan": 1, "Feb": 2, "mar": 3, "apr": 4}; console.log(d3.keys(month)); console.log(d3.values(month)); console.log(d3.entries(month)); </script> </body> </html>
Теперь запросите браузер, и вы увидите следующий ответ.
API Карт
Карта содержит значения, основанные на парах ключ и значение. Каждая пара ключ-значение называется записью. Карта содержит только уникальные ключи. Это полезно для поиска, обновления или удаления элементов на основе ключа. Давайте подробно рассмотрим различные методы API Карт.
-
d3.map ([object [, key]]) — этот метод используется для создания новой карты. Объект используется для копирования всех перечислимых свойств.
-
map.has (key) — этот метод используется для проверки наличия в карте записи для указанной строки ключа.
-
map.get (key) — этот метод используется для возврата значения для указанной строки ключа.
-
map.set (key, value) — этот метод используется для установки значения для указанной строки ключа. Если на карте ранее была запись для той же ключевой строки, старая запись заменяется новым значением.
-
map.remove (ключ) — используется для удаления записи карты. Если ключ не указан, возвращается false.
-
map.clear () — удаляет все записи с этой карты.
-
map.keys () — возвращает массив строковых ключей для каждой записи в этой карте.
-
map.values () — возвращает массив значений для каждой записи в этой карте.
-
map.entries () — возвращает массив объектов значения ключа для каждой записи в этой карте.
-
(x) map.each (function) — этот метод используется для вызова указанной функции для каждой записи на карте.
-
(xi) map.empty () — возвращает true тогда и только тогда, когда эта карта содержит ноль записей.
-
(xii) map.size () — возвращает количество записей в этой карте.
d3.map ([object [, key]]) — этот метод используется для создания новой карты. Объект используется для копирования всех перечислимых свойств.
map.has (key) — этот метод используется для проверки наличия в карте записи для указанной строки ключа.
map.get (key) — этот метод используется для возврата значения для указанной строки ключа.
map.set (key, value) — этот метод используется для установки значения для указанной строки ключа. Если на карте ранее была запись для той же ключевой строки, старая запись заменяется новым значением.
map.remove (ключ) — используется для удаления записи карты. Если ключ не указан, возвращается false.
map.clear () — удаляет все записи с этой карты.
map.keys () — возвращает массив строковых ключей для каждой записи в этой карте.
map.values () — возвращает массив значений для каждой записи в этой карте.
map.entries () — возвращает массив объектов значения ключа для каждой записи в этой карте.
(x) map.each (function) — этот метод используется для вызова указанной функции для каждой записи на карте.
(xi) map.empty () — возвращает true тогда и только тогда, когда эта карта содержит ноль записей.
(xii) map.size () — возвращает количество записей в этой карте.
Пример. Создайте веб-страницу maps.html и добавьте в нее следующие изменения.
<html> <head> <script type = "text/javascript" src = "https://d3js.org/d3.v4.min.js"></script> </head> <body> <h3>D3 collection API</h3> <script> var 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 </script> </body> </html>
Теперь запросите браузер, и мы увидим следующий ответ.
Точно так же вы можете выполнять и другие операции.
Устанавливает API
Набор — это Коллекция, которая не может содержать повторяющиеся элементы. Моделирует математический набор абстракций. Давайте подробно рассмотрим различные методы API Set.
-
d3.set ([array [, accessor]]) — Этот метод используется для создания нового набора. Массив используется для добавления строковых значений. Доступ не является обязательным.
-
set.has (value) — этот метод используется для проверки наличия в наборе записи для указанной строки значения.
-
set.add (value) — используется для добавления указанной строки значения в набор.
-
set.remove (value) — используется для удаления набора, который содержит указанную строку значения.
-
set.clear () — удаляет все значения из этого набора.
-
set.values () — Этот метод используется для возврата массива значений в набор.
-
set.empty () — возвращает true тогда и только тогда, когда этот набор имеет нулевые значения.
-
set.size () — возвращает количество значений в этом наборе.
d3.set ([array [, accessor]]) — Этот метод используется для создания нового набора. Массив используется для добавления строковых значений. Доступ не является обязательным.
set.has (value) — этот метод используется для проверки наличия в наборе записи для указанной строки значения.
set.add (value) — используется для добавления указанной строки значения в набор.
set.remove (value) — используется для удаления набора, который содержит указанную строку значения.
set.clear () — удаляет все значения из этого набора.
set.values () — Этот метод используется для возврата массива значений в набор.
set.empty () — возвращает true тогда и только тогда, когда этот набор имеет нулевые значения.
set.size () — возвращает количество значений в этом наборе.
Пример. Создайте веб-страницу sets.html и добавьте в нее следующие изменения.
<html> <head> <script type = "text/javascript" src = "https://d3js.org/d3.v4.min.js"></script> </head> <body> <h3>D3 collection API</h3> <script> var 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 </script> </body> </html>
Теперь запросите браузер, и мы увидим следующий ответ на нашем экране.
Точно так же мы можем выполнять и другие операции.
API гнезд
Вложенный API содержит элементы в массиве и работает в иерархической древовидной структуре. Давайте подробно рассмотрим различные методы API Nests.
-
d3.nest () — этот метод используется для создания нового гнезда.
-
nest.key (key) — этот метод используется для инициализации новой ключевой функции. Эта функция используется для вызова каждого элемента во входном массиве и возврата элементов в группе.
-
nest.sortKeys (компаратор) — этот метод используется для сортировки ключей в указанном компараторе. Функция определяется как d3.ascending или d3.descending.
-
nest.sortValues (компаратор) — этот метод используется для сортировки значений в указанном компараторе. Функция компаратора сортирует листовые элементы.
-
nest.map (array) — Этот метод используется для применения указанного массива и возврата вложенной карты. Каждая запись в возвращенной карте соответствует отдельному значению ключа, возвращенному первой функцией ключа. Значение записи зависит от количества зарегистрированных функций клавиш.
-
nest.object (array) — Этот метод используется для применения оператора nest к указанному массиву и возврата вложенного объекта.
-
nest.entries (array) — Этот метод используется для применения оператора nest к указанному массиву и возврата массива записей значений ключей.
d3.nest () — этот метод используется для создания нового гнезда.
nest.key (key) — этот метод используется для инициализации новой ключевой функции. Эта функция используется для вызова каждого элемента во входном массиве и возврата элементов в группе.
nest.sortKeys (компаратор) — этот метод используется для сортировки ключей в указанном компараторе. Функция определяется как d3.ascending или d3.descending.
nest.sortValues (компаратор) — этот метод используется для сортировки значений в указанном компараторе. Функция компаратора сортирует листовые элементы.
nest.map (array) — Этот метод используется для применения указанного массива и возврата вложенной карты. Каждая запись в возвращенной карте соответствует отдельному значению ключа, возвращенному первой функцией ключа. Значение записи зависит от количества зарегистрированных функций клавиш.
nest.object (array) — Этот метод используется для применения оператора nest к указанному массиву и возврата вложенного объекта.
nest.entries (array) — Этот метод используется для применения оператора nest к указанному массиву и возврата массива записей значений ключей.
Рассмотрим простую веб-страницу nest.html для выполнения описанных выше методов размещения.
Пример. Рассмотрим следующий пример.
<html> <head> <script type = "text/javascript" src = "https://d3js.org/d3.v4.min.js"></script> </head> <body> <h3>D3 Nest API</h3> <script> var 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); </script> </body> </html>
Теперь проверьте результат в браузере, и мы увидим следующий результат.