util

常用工具模块

Field Summary

Type Method and Description
void public static static StatsStatsStats

数据统计对象,用以构建应用运行时数据收集,参见 Stats 对象。

void public static static LruCacheLruCacheLruCache

LRU(least recently used) 缓存对象,参见 LruCache 对象。

Method Summary

Type Method and Description
String format(String fmt,...)

按照指定的格式格式化变量

String format(...)

格式格式化变量

void inherits(Value constructor,Value superConstructor)

从一个构造函数 constructor 继承原型方法到另一个。构造函数的原型将被设置为一个新的从超类(superConstructor)创建的对象。

Boolean isEmpty(Value v)

检测给定的变量是否不包含任何值(没有可枚举的属性)

Boolean isArray(Value v)

检测给定的变量是否是数组

Boolean isBoolean(Value v)

检测给定的变量是否是 Boolean

Boolean isNull(Value v)

检测给定的变量是否是 Null

Boolean isNullOrUndefined(Value v)

检测给定的变量是否是 Null 或者 Undefined

Boolean isNumber(Value v)

检测给定的变量是否是数字

Boolean isString(Value v)

检测给定的变量是否是字符串

Boolean isUndefined(Value v)

检测给定的变量是否是 Undefined

Boolean isRegExp(Value v)

检测给定的变量是否是正则对象

Boolean isObject(Value v)

检测给定的变量是否是对象

Boolean isDate(Value v)

检测给定的变量是否是日期对象

Boolean isFunction(Value v)

检测给定的变量是否是函数对象

Boolean isBuffer(Value v)

检测给定的变量是否是函数 Buffer 对象

Boolean has(Value v,String key)

查询指定对象是否包含给定的键

Array keys(Value v)

查询指定对象的全部键数组

Array values(Value v)

查询指定对象的全部值数组

Value clone(Value v)

克隆给定变量,如果是对象或数组,则复制内容到新对象

Value extend(Value v,...)

将一个或者多个对象的键值扩展到指定对象

Object pick(Value v,...)

返回一个object副本,只过滤出指定键的属性值

Object omit(Value v,...)

返回一个object副本,只过排除指定键的属性值

Value first(Value v)

获取数组的第一个元素

Value first(Value v,Integer n)

获取数组的开始多个元素

Value last(Value v)

获取数组的第后一个元素

Value last(Value v,Integer n)

获取数组的结尾多个元素

Array unique(Value v,Boolean sorted)

获取数组的元素去重后的副本

Array union(...)

将一个或者多个数组的值合并成一个值唯一的数组

Array intersection(...)

返回一个包含 arr 数组中排除一个或者多个数组元素的交集

Array flatten(Value arr,Boolean shallow)

将一个嵌套多层的数组(嵌套可以是任何层数)转换为只有一层的数组。 如果你传递 shallow 参数,数组将只减少一维的嵌套。

Array without(Value arr,...)

返回一个包含 arr 数组中排除一个或者多个元素后的数组

Array difference(Array list,...)

返回一个包含 arr 数组中排除 without 数组元素之后的数组

Value each(Value list,Function iterator,Value context)

遍历 list 中的所有元素,按顺序用遍历输出每个元素。如果传递了 context 参数,则把 iterator 绑定到 context 对象上。每次调用 iterator 都会传递三个参数:(element, index, list)

Array map(Value list,Function iterator,Value context)

通过变换函数(iterator迭代器)把 list 中的每个值映射到一个新的数组中。如果传递了 context 参数,则把 iterator 绑定到 context 对象上。每次调用 iterator 都会传递三个参数:(element, index, list)

Value reduce(Value list,Function iterator,Value memo,Value context)

把 list中 元素归结为一个单独的数值。如果传递了 context 参数,则把 iterator 绑定到 context 对象上。每次调用 iterator 都会传递三个参数:(memo, element, index, list)

Buffer compile(String srcname,String script,Integer mode)

编译脚本为二进制代码

Buffer compile(String script,Integer mode)

编译脚本为二进制代码

Object buildInfo()

查询当前引擎及各组件版本信息

Field Detail

Stats

void public static static StatsStatsStats

数据统计对象,用以构建应用运行时数据收集,参见 Stats 对象。

LruCache

void public static static LruCacheLruCacheLruCache

LRU(least recently used) 缓存对象,参见 LruCache 对象。

Method Detail

format

String format(String fmt,...)

按照指定的格式格式化变量

Parameters

  • fmt 格式化字符串

  • ... 可选参数列表

Returns

返回格式化后的字符串

format

String format(...)

格式格式化变量

Parameters

  • ... 可选参数列表

Returns

返回格式化后的字符串

inherits

void inherits(Value constructor,Value superConstructor)

从一个构造函数 constructor 继承原型方法到另一个。构造函数的原型将被设置为一个新的从超类(superConstructor)创建的对象。

Parameters

  • constructor 初始的构造函数

  • superConstructor 被继承的超类

isEmpty

Boolean isEmpty(Value v)

检测给定的变量是否不包含任何值(没有可枚举的属性)

Parameters

  • v 给定需要检测的变量

Returns

如果为空则返回 True

isArray

Boolean isArray(Value v)

检测给定的变量是否是数组

Parameters

  • v 给定需要检测的变量

Returns

如果是数组则返回 True

isBoolean

Boolean isBoolean(Value v)

检测给定的变量是否是 Boolean

Parameters

  • v 给定需要检测的变量

Returns

如果是 Boolean 则返回 True

isNull

Boolean isNull(Value v)

检测给定的变量是否是 Null

Parameters

  • v 给定需要检测的变量

Returns

如果是 Null 则返回 True

isNullOrUndefined

Boolean isNullOrUndefined(Value v)

检测给定的变量是否是 Null 或者 Undefined

Parameters

  • v 给定需要检测的变量

Returns

如果是 Null 或者 Undefined 则返回 True

isNumber

Boolean isNumber(Value v)

检测给定的变量是否是数字

Parameters

  • v 给定需要检测的变量

Returns

如果是数字则返回 True

isString

Boolean isString(Value v)

检测给定的变量是否是字符串

Parameters

  • v 给定需要检测的变量

Returns

如果是字符串则返回 True

isUndefined

Boolean isUndefined(Value v)

检测给定的变量是否是 Undefined

Parameters

  • v 给定需要检测的变量

Returns

如果是 Undefined 则返回 True

isRegExp

Boolean isRegExp(Value v)

检测给定的变量是否是正则对象

Parameters

  • v 给定需要检测的变量

Returns

如果是正则对象则返回 True

isObject

Boolean isObject(Value v)

检测给定的变量是否是对象

Parameters

  • v 给定需要检测的变量

Returns

如果是对象则返回 True

isDate

Boolean isDate(Value v)

检测给定的变量是否是日期对象

Parameters

  • v 给定需要检测的变量

Returns

如果是日期对象则返回 True

isFunction

Boolean isFunction(Value v)

检测给定的变量是否是函数对象

Parameters

  • v 给定需要检测的变量

Returns

如果是函数对象则返回 True

isBuffer

Boolean isBuffer(Value v)

检测给定的变量是否是函数 Buffer 对象

Parameters

  • v 给定需要检测的变量

Returns

如果是函数 Buffer 对象则返回 True

has

Boolean has(Value v,String key)

查询指定对象是否包含给定的键

Parameters

  • v 给定需要查询的对象

  • key 指定需要查询的键

Returns

返回对象的全部键数组

keys

Array keys(Value v)

查询指定对象的全部键数组

Parameters

  • v 给定需要查询的对象

Returns

返回对象的全部键数组

values

Array values(Value v)

查询指定对象的全部值数组

Parameters

  • v 给定需要查询的对象

Returns

返回对象的全部值数组

clone

Value clone(Value v)

克隆给定变量,如果是对象或数组,则复制内容到新对象

Parameters

  • v 给定要克隆的变量

Returns

返回克隆结果

extend

Value extend(Value v,...)

将一个或者多个对象的键值扩展到指定对象

Parameters

  • v 指定要扩展的对象

  • ... 指定一个或者多个用于扩展的对象

Returns

返回扩展的结果

pick

Object pick(Value v,...)

返回一个object副本,只过滤出指定键的属性值

Parameters

  • v 指定要过滤的对象

  • ... 指定一个或者多个用于选择的键

Returns

返回过滤的结果

omit

Object omit(Value v,...)

返回一个object副本,只过排除指定键的属性值

Parameters

  • v 指定要过滤的对象

  • ... 指定一个或者多个用于排除的键

Returns

返回排除的结果

first

Value first(Value v)

获取数组的第一个元素

Parameters

  • v 给定要获取的数组

Returns

返回获取的元素

first

Value first(Value v,Integer n)

获取数组的开始多个元素

Parameters

  • v 给定要获取的数组

  • n 指定要获取的元素个数

Returns

返回获取的元素数组

last

Value last(Value v)

获取数组的第后一个元素

Parameters

  • v 给定要获取的数组

Returns

返回获取的元素

last

Value last(Value v,Integer n)

获取数组的结尾多个元素

Parameters

  • v 给定要获取的数组

  • n 指定要获取的元素个数

Returns

返回获取的元素数组

unique

Array unique(Value v,Boolean sorted)

获取数组的元素去重后的副本

Parameters

  • v 给定要去重的数组

  • sorted 指定数组是否排序,如果指定数组排序,将使用快速算法

Returns

返回去重元素后的数组

union

Array union(...)

将一个或者多个数组的值合并成一个值唯一的数组

Parameters

  • ... 指定一个或者多个用于合并的数组

Returns

返回合并的结果

intersection

Array intersection(...)

返回一个包含 arr 数组中排除一个或者多个数组元素的交集

Parameters

  • ... 指定一个或者多个用于计算交集的数组

Returns

返回计算交集的结果

flatten

Array flatten(Value arr,Boolean shallow)

将一个嵌套多层的数组(嵌套可以是任何层数)转换为只有一层的数组。 如果你传递 shallow 参数,数组将只减少一维的嵌套。

Parameters

  • arr 指定需要转换的数组

  • shallow 指定是否只减少一维的嵌套,缺省为 false

Returns

返回转换的结果

without

Array without(Value arr,...)

返回一个包含 arr 数组中排除一个或者多个元素后的数组

Parameters

  • arr 指定需要排除的数组

  • ... 指定一个或者多个用于排除的元素

Returns

返回排除的结果

difference

Array difference(Array list,...)

返回一个包含 arr 数组中排除 without 数组元素之后的数组

Parameters

  • list 指定需要排除的数组

  • ... 指定用于排除的一个或者多个数组

Returns

返回排除的结果

each

Value each(Value list,Function iterator,Value context)

遍历 list 中的所有元素,按顺序用遍历输出每个元素。如果传递了 context 参数,则把 iterator 绑定到 context 对象上。每次调用 iterator 都会传递三个参数:(element, index, list)

Parameters

  • list 指定需要遍历的列表或对象

  • iterator 指定用于遍历的回调函数

  • context 指定调用 iterator 时绑定的 context 对象

Returns

返回 list 本身

map

Array map(Value list,Function iterator,Value context)

通过变换函数(iterator迭代器)把 list 中的每个值映射到一个新的数组中。如果传递了 context 参数,则把 iterator 绑定到 context 对象上。每次调用 iterator 都会传递三个参数:(element, index, list)

Parameters

  • list 指定需要变换的列表或对象

  • iterator 指定用于变换的回调函数

  • context 指定调用 iterator 时绑定的 context 对象

Returns

返回变换的结果

reduce

Value reduce(Value list,Function iterator,Value memo,Value context)

把 list中 元素归结为一个单独的数值。如果传递了 context 参数,则把 iterator 绑定到 context 对象上。每次调用 iterator 都会传递三个参数:(memo, element, index, list)

Parameters

  • list 指定需要归结的列表或对象

  • iterator 指定用于归结的回调函数

  • memo 指定归结的初始值

  • context 指定调用 iterator 时绑定的 context 对象

Returns

返回归结的结果

compile

Buffer compile(String srcname,String script,Integer mode)

编译脚本为二进制代码

Parameters

  • srcname 指定要添加的脚本名称

  • script 指定要编译的脚本代码

  • mode 编译模式,0: module, 1: main, 2: script, 3: worker,缺省为 0

Returns

返回编译出的二进制代码

compile

Buffer compile(String script,Integer mode)

编译脚本为二进制代码

Parameters

  • script 指定要编译的脚本代码

  • mode 编译模式,0: module, 1: main, 2: script, 3: worker,缺省为 0

Returns

返回编译出的二进制代码

buildInfo

Object buildInfo()

查询当前引擎及各组件版本信息

Returns

返回结构如下:

{
  "fibjs": "0.1.0",
  "svn": 1753,
  "build": "Dec 10 2013 21:44:17",
  "vender": {
    "ev": "4.11",
    "exif": "0.6.21",
    "gd": "2.1.0-alpha",
    "jpeg": "8.3",
    "log4cpp": "1.0",
    "mongo": "0.7",
    "pcre": "8.21",
    "png": "1.5.4",
    "sqlite": "3.8.1",
    "tiff": "3.9.5",
    "uuid": "1.6.2",
    "v8": "3.23.17 (candidate)",
    "zlib": "1.2.7",
    "zmq": "3.1"
  }
}