随着加密货币市场的不断发展,前端开发人员越来越需要使用加密货币数据来实现一些功能。这时候,就需要使用到一些处理加密货币数据的工具。x-cryptocurrencies-normalizr 是一个用于处理加密货币数据的 npm 包,它可以帮助开发者将混杂在一起的加密货币数据整理成规范化的数据结构,方便开发者处理和展示数据。
本文将详细介绍 x-cryptocurrencies-normalizr 的使用方法,包括安装、引入、API 等方面的内容,并且提供一些示例代码,以便更好地理解和使用。
安装
x-cryptocurrencies-normalizr 是一个基于 Node.js 的 npm 包,因此需要先安装 Node.js。安装 Node.js 的方法可以参考 官方文档。
在安装 Node.js 后,可以使用 npm 进行安装。在命令行输入以下命令即可安装:
npm install x-cryptocurrencies-normalizr
注意,该包的最低 Node.js 版本为 v10。
引入
安装完 x-cryptocurrencies-normalizr 后,可以简单地在代码中引入:
const normalizr = require('x-cryptocurrencies-normalizr')
当然,如果你在使用 webpack 等工具时,也可以按需引入。
API
x-cryptocurrencies-normalizr 有两个主要的 API,分别是 normalize 和 denormalize。
normalize(data, schema)
参数:
data
:一个需要被规范化的加密货币数据数组。schema
:描述加密货币数据的规则对象。
返回值:规范化后的数据对象,可以方便地用于数据存储、展示等操作。
简单来说,normalize 的作用是将混杂在一起的加密货币数据按照一定的规则进行格式化,使之方便存储和处理。schema 是规定数据格式的对象,详细内容可以参考 normalizr 文档。
下面是一个 schema 的示例:
const { schema } = require("normalizr"); const currency = new schema.Entity("currencies", {}, { idAttribute: "symbol" }); const coin = new schema.Entity("coins", { currency: currency }); export const coinSchema = [coin];
在这个示例中,定义了一个 coin 对象和一个 currency 对象。coin 对象包含了 currency 对象,指定了 currency 和 coin 的关系。coinSchema 是包含 coin 对象的数组,是 normalize 的参数之一。
接下来,我们将使用一个简单的示例说明 normalize 的作用:
-- -------------------- ---- ------- ----- - ---------- ------ - - ---------------------------------------- ----- ---- - - - ------- ------ ----- ---------- ------ ------ ---------- ------------ -- - ------- ------ ----- ----------- ------ ---- ---------- ----------- - -- ----- -------- - --- --------------------------- --- - ------------ -------- --- ----- ---- - --- ---------------------- - --------- -------- --- ----- -------------- - --------------- -------- ----------------------------
在这个示例中,有两个加密货币数据:
-- -------------------- ---- ------- - - ------- ------ ----- ---------- ------ ------ ---------- ------------ -- - ------- ------ ----- ----------- ------ ---- ---------- ----------- - -
通过 normalize,我们可以将这些数据格式化成规范化的数据结构:
-- -------------------- ---- ------- - ------- - ------ ----- -- --------- - ------ - ------ - ------- ------ ----- ---------- ------ ------ ---------- ------------- --------- ----- -- ------ - ------- ------ ----- ----------- ------ ---- ---------- ------------ --------- ----- - -- ----------- - ------ - ------- ----- -- ------ - ------- ----- - - - -
在这个规范化后的数据结构中,包含了 result
、entities
两个属性。其中,result
是一个数组,包含了所有加密货币的 symbol;entities
是一个对象,包含了所有实体的信息,其中 coins 对象中包含了每个加密货币的详细信息,currencies 对象中包含了每个可交易的加密货币的 symbol。
denormalize(data, schema, entities)
参数:
data
:规范化后的数据对象。schema
:描述加密货币数据的规则对象。entities
:规范化后的数据实体对象。
返回值:根据 schema 和 entities 描述的规则,将数据实体合并成原始数据对象。
简单来说,denormalize 的作用是将规范化后的数据恢复成原始数据格式。所需要的参数分别是规范化后的数据对象、用于规范化的 schema 和规范化后的数据实体对象 entities。
下面是一个 denormalize 的示例:
-- -------------------- ---- ------- ----- - ---------- ------- ----------- - - ---------------------------------------- ----- ---- - - - ------- ------ ----- ---------- ------ ------ ---------- ------------ -- - ------- ------ ----- ----------- ------ ---- ---------- ----------- - -- ----- -------- - --- --------------------------- --- - ------------ -------- --- ----- ---- - --- ---------------------- - --------- -------- --- ----- -------------- - --------------- -------- ----- ---------------- - ---------------------------------- ------- ------------------------- ------------------------------
在这个示例中,normalizedData
是规范化后的数据对象,denormalizedData
是根据规范化后的数据和规范化前的 schema 以及实体恢复的原始数据对象。
示例代码
下面是一个完整的示例代码,包括了 normalize
和 denormalize
的使用。
-- -------------------- ---- ------- ----- - ---------- ------- ----------- - - ---------------------------------------- ----- ---- - - - ------- ------ ----- ---------- ------ ------ ---------- ------------ -- - ------- ------ ----- ----------- ------ ---- ---------- ----------- - -- ----- -------- - --- --------------------------- --- - ------------ -------- --- ----- ---- - --- ---------------------- - --------- -------- --- ----- -------------- - --------------- -------- ---------------------------- ----- ---------------- - ---------------------------------- ------- ------------------------- ------------------------------
通过运行上面的代码,可以在控制台看到 normalizedData
以及 denormalizedData
的结果。
总结
x-cryptocurrencies-normalizr 是一个用于处理加密货币数据的 npm 包,它可以帮助开发者将混杂在一起的加密货币数据整理成规范化的数据结构。在本文中,我们详细介绍了该包的安装、引入和 API,同时提供了示例代码以帮助读者更好地了解和使用该包。希望本文对读者有所帮助。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/6006711a8dd3466f61ffe81d