- Source
- See
关于 ramda 请查阅文档
Methods
(static) F() → {false}
False 回调
一个总是返回 false
的函数。任何传入的参数都将被忽略
- Source
- Type:
- false
FHelp.F(); //=> false
(static) T() → {true}
True 回调
一个总是返回 true
的函数。任何传入的参数都将被忽略
- Source
- Type:
- true
FHelp.F(); //=> true
(static) clamp(min, max, value) → {number}
限制范围
将 number 限制在某个范围内
也适用于其他有序类型,如字符串和日期
Name | Type | Description |
---|---|---|
min | number | clamp 的最小值 (包括 min) |
max | number | clamp 的最大值 (包括 max) |
value | number | 值 |
- Source
当 val < min
时返回 min
, 当 val > max
时返回 max
, 否则返回 value
- Type:
- number
FHelp.clamp(1, 10, -5) // => 1
FHelp.clamp(1, 10, 15) // => 10
FHelp.clamp(1, 10, 4) // => 4
(static) defaultTo(def, val) → {T|V}
默认值
如果第二个参数不是 null、undefined 或 NaN,则返回第二个参数,否则返回第一个参数(默认值)
Name | Type | Description |
---|---|---|
def | T | 默认值 |
val | V | 当前值 |
- Source
val
无效则是 def
, 否则是 val
- Type:
- T |
V
FHelp.defaultTo(42, null); //=> 42
FHelp.defaultTo(42, undefined); //=> 42
FHelp.defaultTo(42, false); //=> false
FHelp.defaultTo(42, 'Ramda'); //=> 'Ramda'
// parseInt('string') results in NaN
FHelp.defaultTo(42, parseInt('string')); //=> 42
(static) groupBy(fn, list) → {Record.<K, Array.<T>>}
分组
根据对每个元素调用键返回函数的结果,将列表拆分为存储在对象中的子列表,并根据返回的值对结果进行分组
Name | Type | Description |
---|---|---|
fn | FHelp~TParam.<T, K> | 分组函数 |
list | Array.<T> | 数据集 |
- Source
一个对象,输出键值为fn,映射到传递给fn时产生该键的元素数组。
- Type:
- Record.<K, Array.<T>>
const byGrade = function(student) {
const score = student.score;
return score < 65 ? 'F' :
score < 70 ? 'D' :
score < 80 ? 'C' :
score < 90 ? 'B' : 'A';
};
const students = [{name: 'Abby', score: 84},
{name: 'Eddy', score: 58},
// ...
{name: 'Jack', score: 69}];
FHelp.groupBy(byGrade, students);
// {
// 'A': [{name: 'Dianne', score: 99}],
// 'B': [{name: 'Abby', score: 84}]
// // ...,
// 'F': [{name: 'Eddy', score: 58}]
// }
(static) is(classes, val) → {boolean}
判断 val 是否是 classes 的子类实例
查看一个对象(例如val)是否是所提供构造函数的实例。这个函数将检查继承链(如果有的话)。
如果val是用Object创建的。create (Object, val) === true
Name | Type | Description |
---|---|---|
classes | Object | 类型 |
val | InstanceType.<Object> | 实例 |
- Source
- Type:
- boolean
FHelp.is(Object, {}); //=> true
FHelp.is(Number, 1); //=> true
FHelp.is(Object, 1); //=> false
FHelp.is(String, 's'); //=> true
FHelp.is(String, new String('')); //=> true
FHelp.is(Object, new String('')); //=> true
FHelp.is(Object, 's'); //=> false
FHelp.is(Number, {}); //=> false
(static) isNotValid(param) → {boolean}
参数无效
判断给定参数是否有效
Name | Type | Description |
---|---|---|
param | any |
- Source
true: 无效
- Type:
- boolean
FHelp.isNotValid(null); //=> true
FHelp.isNotValid(undefined); //=> true
FHelp.isNotValid(NaN); //=> true
FHelp.isNotValid([]); //=> true
FHelp.isNotValid(''); //=> true
FHelp.isNotValid({}); //=> true
FHelp.isNotValid(Uint8Array.from('')); //=> true
FHelp.isNotValid({length: 0}); //=> false
FHelp.isNotValid([1, 2, 3]); //=> false
FHelp.isNotValid(0); //=> false
(static) isValid(param) → {boolean}
参数有效
判断给定参数是否有效
Name | Type | Description |
---|---|---|
param | any |
- Source
true: 有效
- Type:
- boolean
FHelp.isValid(value) // => !FHelp.isNotValid(value)
(static) mergeAll(…params) → {any}
深度合并
从对象列表中创建一个具有自己属性的新对象。如果一个键存在于多个对象中,则将使用它存在的最后一个对象中的值。
Name | Type | Attributes | Description |
---|---|---|---|
params | any | <repeatable> |
- Source
- Type:
- any
FHelp.mergeAll({foo:1},{bar:2},{baz:3}); //=> {foo:1,bar:2,baz:3}
FHelp.mergeAll({foo:1},{foo:2},{bar:2}); //=> {foo:2,bar:2}
(static) mergeDeepWith(…params) → {any}
深度合并
合并两个对象的自身属性(不包括 prototype 属性)。如果某个 key 在两个对象中都存在:
- 并且两个关联的值都是对象,则继续递归合并这两个值。
- 否则,使用给定函数对两个值进行处理,并将返回值作为该 key 的新值。
如果某 key 只存在于一个对象中,该键值对将作为结果对象的键值对。
Name | Type | Attributes | Description |
---|---|---|---|
params | any | <repeatable> |
- Source
- Type:
- any
mergeDeepWith({ a: true, c: { values: [10, 20] }},
{ b: true, c: { values: [15, 35] }});
//=> { a: true, b: true, c: { values: [10, 20, 15, 35] }}
(static) mixin(base, …classes) → {ObjectConstructor}
混合类型
将多个类混合到基类
基础类上存在的 key
不会被其他类覆盖
Name | Type | Attributes | Description |
---|---|---|---|
base | ObjectConstructor | 基类 | |
classes | ObjectConstructor | <repeatable> | 混合类 |
- Source
基类
- Type:
- ObjectConstructor
(static) mixinProperty(base, …property) → {InstanceType.<Object>}
混合属性
将多个对象上的属性混合到基础属性里
基础属性上存在的 key
不会被其他属性覆盖
Name | Type | Attributes | Description |
---|---|---|---|
base | InstanceType.<Object> | 基础属性 | |
property | InstanceType.<Object> | <repeatable> | 其他属性 |
- Source
基础属性
- Type:
- InstanceType.<Object>
(static) random(minopt, maxopt, roundopt) → {number}
范围随机值
获取 min 到 max 之间的随机数
Name | Type | Attributes | Default | Description |
---|---|---|---|---|
min | number | <optional> | 0 | 最小值 |
max | number | <optional> | 1 | 最大值 |
round | 'floor' | | <optional> | null | 取整 |
- Source
随机值
- Type:
- number
FHelp.random(0.5, 10, null) // => [0.5, 10) 0.5<=x<10 之间的任意数
FHelp.random(0.5, 10, 'floor') // => [0, 9] 0-9 之间的整数
FHelp.random(0.5, 10, 'ceil') // => [1, 10] 1-10 之间的整数
(static) sayHello()
打印信息
在初始化阶段打印项目信息
- Source
Type Definitions
TParam(param) → {K}
有参回调
根据参数 param 返回一个对应的返回值
Name | Type | Description |
---|---|---|
param | T | 参数 |
- Source
返回值
- Type:
- K