面粉封装阵列
本单元的目的是使收集单一类型(字符串,数字,日期时间)的数据的工作更加简单. 每个"增强阵列"是一个不可变的物体,它用固定的一组值来创建. 数组对象上的属性和方法,然后让用户方便地访问数据的属性,子集和变换,而不需要他们在额外的库中绘制.
如何安装
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 属性,其中返回的数组不是被冻结的,可以更改.