@flourish/enhanced-arrays

中文文档
2.0.0发布于 2022/02/11https://flourish.studio/terms/fcl/ESM + CJS近 30 天下载 3820

用有用的方法创建不可变的类似数组对象

中文使用文档
文档目录29 节
  1. 如何安装
  2. 如何创建增强的数组
  3. 增强数组属性
  4. datetime_array
  5. dropped_indexes
  6. enhanced_array
  7. length
  8. max
  9. mean
  10. median
  11. min
  12. n_empty
  13. numeric_array
  14. range
  15. sd
  16. sorted_values
  17. sum
  18. string_array
  19. values
  20. variance
  21. 增强阵列的方法
  22. ascending()
  23. descending()
  24. extent()
  25. rank([lowest_first [, ties_method])
  26. unique()
  27. uniqueAscending()
  28. uniqueDescending()
  29. unsorted()

面粉封装阵列

本单元的目的是使收集单一类型(字符串,数字,日期时间)的数据的工作更加简单. 每个"增强阵列"是一个不可变的物体,它用固定的一组值来创建. 数组对象上的属性和方法,然后让用户方便地访问数据的属性,子集和变换,而不需要他们在额外的库中绘制.

如何安装

npm install @flourish/enhanced-arrays· ;

如何创建增强的数组

从模块中导入相关的创建器函数...

import {
    createNumericArray, createDatetimeArray, createStringArray
} from @flourish/enhanced-arrays;

然后通过调用相关类型的常规数据组来创建增强的数组对象.

const dates = [new Date(2022-02-02), new Date(2022-02-02), new Date(2023-02-01)];
const numbers = createNumericArray([1, 5, 6, 4, 8, 5]);
const strings = createStringArray('a', "boat", "21", "boat");
const dates = createDatetimeArray(dates);

您也可以调用一个访问器函数来提取或转换输入区域的数据:

const things = [{x: "coats", y: 7}, {x: "hats", y: 10}, {x: "boots", y: 6} ];
const more_numbers = createNumericArray(things, d => d.y);

传递给创建器函数的任何元素属于错误类型(在应用访问器函数后,如果使用),将被拒绝. 这些值将不会被使用在任何计算中,并且这些值不会被存储在增强的数组中. 然而,它们从原始输入阵列得出的索引仍将通过下列方式提供: dropped_indexes 属性,以返回这些索引中被冻结的数组.

const other_things = [{x: "cat", y: 5}, {x: "dog", y: 4}, {x: "mouse", y: "two"} ];
const yet_more_numbers = createNumericArray(other_things, d => d.y);
console.log(yet_more_things.dropped_indexes); // [2];

增强数组属性

datetime_array

true 用于日期时数组. undefined 用于数字和字符串数组.

dropped_indexes

输入数组(或运行输入数组上的存取器函数后创建的数组)的所有值的索引,由于它们属于错误类型而被丢弃.

enhanced_array

true 用于所有增强的数组.

length

存储数组中的值数 。 这是输入数组的长度减去因属于错误类型而被拒绝的数值数.

max

数字数组中的最大值,日期时数组中的最新时间戳和字符串数组中按字母顺序排列的最后一个字符串.

mean

该(计算) 在数字或日期时数组中的值. undefined 用于字符串阵列.

median

这个 中位数 在数字或日期时数组中的值. undefined 用于字符串阵列.

min

数字数组中最小的值,日期时数组中最早的时间戳和字符串数组中第一个以字母顺序排列的字符串.

n_empty

字符串阵列中的空字符串数 (""). undefined 用于数字和日期时数组.

numeric_array

true 用于所有数组. undefined 用于日期和字符串错误.

range

两者的区别 max 内 min 数字数组中的值. undefined 用于日期时间和字符串数组.

sd

这个 (样本)标准差 数字数组中的数值. undefined 用于日期时间和字符串数组.

sorted_values

以升序排列,将所有存储在增强数组中的被冻结数组。 对于数字数组来说,这意味着数字排序(如10前的2个),对于字符串数组来说,这意味着字母/语法排序(如"2"前的"10",但"1"后),对于日期时间表示最早的日期先出现.

sum

数字数组中所有条目的总和. undefined 用于日期时间和字符串数组.

string_array

true 用于所有字符串阵列. undefined 用于所有数字和日期数组.

values

按照输入数组的顺序,将所有存储在增强数组中的被冻结数组.

variance

这个 (样本)差异 数字数组中的数值. undefined 用于日期时间和字符串数组.

增强阵列的方法

ascending()

返回一个存储值的数组,按上升顺序排序。 调用这种方法的结果不同于 sorted_values 属性,其中返回的数组不是被冻结的,可以更改.

descending()

返回所存储的数组,按下行顺序排序.

extent()

返回描述数据范围的双元素数组, ie [min, max]。 。 。 .

rank([lowest_first [, ties_method])

向 funciton 调用返回参数中概述的存储值到其位置的地图。 默认值将排为最大到最小(数字),最后到第一(日期时间),或以最上字母顺序到最上字母顺序(字符串). 若为 lowest_first 真实的,然后这个排名系统就会被反转。 这个 ties_method 确定联系的级别。 公认的值有"最佳"(默认),"最坏","强烈","违反"和"正常"等. 在"最佳"的情况下被平分的参赛参赛者会分享下等分(代表1 2 2 4,假设2等分平分). 在"最坏"的情况下被捆绑的条目中,将共享更高数字的排名(1,3,3,4). 在"强烈"案件中被绑定的条目中,将分享下级,排名次高的值取上一级(1,2,23). 在“违反”情况下,可能的军衔平均为(12.5-2.54)。 在"平分"的情况下,平分值是任意的,尽管平分数(1,2,34)是不同的。 另见 此维基百科文章。 。 。 .

unique()

返回已删除的已存储值的数组。 对于日期,时间戳用于确定双相分录是否重复.

uniqueAscending()

返回一个存储值的数组,按升序排序,并删除重复。 对于日期,时间戳用于确定双相分录是否重复.

uniqueDescending()

返回一个存储值的数组,按升序排序,并删除重复。 对于日期,时间戳用于确定双相分录是否重复.

unsorted()

返回存储值的数组。 调用这种方法的结果不同于 values 属性,其中返回的数组不是被冻结的,可以更改.

版本与发布记录

@flourish/enhanced-arrays 共发布 7 个版本,首次发布于 2019/06/26;过去 12 个月发布了 0 个版本。

版本发布日期距今
2.0.0latest2022/02/114 年前
1.1.12021/06/255 年前
1.1.02019/10/267 年前
1.1.0-prerelease.1next2019/10/257 年前
1.0.02019/08/167 年前
1.0.0-prerelease.22019/06/277 年前

关于 @flourish/enhanced-arrays 的常见问题

@flourish/enhanced-arrays 是什么?

用有用的方法创建不可变的类似数组对象

如何安装 @flourish/enhanced-arrays?

在项目目录运行 npm install @flourish/enhanced-arrays,或使用 pnpm add / yarn add / bun add。

@flourish/enhanced-arrays 支持 TypeScript 吗?

该包的 package.json 没有声明类型入口。需要类型提示时,可以在 npm 上查找社区维护的 @types/flourish__enhanced-arrays 是否存在。

@flourish/enhanced-arrays 支持 ESM 还是 CommonJS?

同时提供 ES Module 与 CommonJS 入口,import 和 require() 都可以使用,打包工具会自动选择合适的版本。

@flourish/enhanced-arrays 可以商用吗?

@flourish/enhanced-arrays 使用 https://flourish.studio/terms/fcl/ 许可。声明的许可为 https://flourish.studio/terms/fcl/,请阅读许可原文确认使用条件。以上为概括,不构成法律意见,请以许可原文为准。

@flourish/enhanced-arrays 的下载量有多少?

根据 npm 官方下载统计,@flourish/enhanced-arrays 在 2026/10/15 – 2026/11/13 这 30 天内被下载 3,820 次,日均约 127 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入,适合横向比较热度,不能直接等同于使用人数。

@flourish/enhanced-arrays 还在维护吗?

最新版本 2.0.0 发布于 2022/02/11(4 年前);至今共发布 7 个版本,其中过去 12 个月发布了 0 个;首次发布于 2019/06/26。发布频率只是参考信号:功能稳定的工具可能很少需要更新,建议结合源码仓库的 issue 和提交记录判断。