Модуль базовый модуль

Модуль util

Общий инструментальный модуль

Объект

LruCache

LRU (наименее использованный) объект кэша, см. LruCache Объект.

1
LruCache util.LruCache;

Статическая функция

format

Форматировать переменные в соответствии с указанным форматом

1 2
static String util.format(String fmt, ...args);

Параметры звонка:

  • fmt: Строка, строка формата
  • args: ..., необязательный список параметров

Результат возврата:

  • String, Возвращает отформатированную строку

Переменные форматирования

1
static String util.format(...args);

Параметры звонка:

  • args: ..., необязательный список параметров

Результат возврата:

  • String, Возвращает отформатированную строку

inherits

Наследуйте функцию-прототип от одного конструктора к другому. Прототип конструктора будет установлен на новый объект, созданный из суперконструктора.

1 2
static util.inherits(Value constructor, Value superConstructor);

Параметры звонка:

  • constructor: Value, начальный конструктор
  • superConstructor: Значение, наследуемый суперкласс

inspect

Функция возвращает строковое представление obj, которое в основном используется для отладки. Дополнительные параметры могут использоваться для изменения определенных аспектов строки формата.

1 2
static String util.inspect(Value obj, Object options = {});

Параметры звонка:

  • obj: Значение, укажите объект для обработки
  • options: Объект, укажите параметры управления форматом

Результат возврата:

  • String, Возвращает отформатированную строку

Поддерживаются следующие параметры:

1 2 3 4 5 6
{ "colors": false, // 指定是否输出 ansi 作色字符串,缺省为 false "table": false, // 指定输出 table 格式,缺省为 false "encode_string": true, // 指定表格中的字符串是否编码,缺省为 true "fields": [], // 当 table 为 true 时指定显示字段 }

deprecate

Инкапсулируйте данную функцию, эта функция только совместима и не выводит предупреждение

1 2 3
static Function util.deprecate(Function fn, String msg, String code = "");

Параметры звонка:

  • fn: Функция, заданная инкапсулируемой функции
  • msg: Строка с предупреждением
  • code: Строка с заданным номером предупреждения

Результат возврата:

  • Function, Если результат инкапсуляции

isEmpty

Проверить, не содержит ли данная переменная никакого значения (нет перечислимых атрибутов)

1
static Boolean util.isEmpty(Value v);

Параметры звонка:

  • v: Значение для проверяемой переменной.

Результат возврата:

  • Boolean, Верните True, если он пуст

isArray

Проверить, является ли данная переменная массивом

1
static Boolean util.isArray(Value v);

Параметры звонка:

  • v: Значение для проверяемой переменной.

Результат возврата:

  • Boolean, Возвращает True, если это массив

isBoolean

Проверить, является ли данная переменная логической

1
static Boolean util.isBoolean(Value v);

Параметры звонка:

  • v: Значение для проверяемой переменной.

Результат возврата:

  • Boolean, Верните True, если это логическое значение

isNull

Проверить, является ли данная переменная NULL

1
static Boolean util.isNull(Value v);

Параметры звонка:

  • v: Значение для проверяемой переменной.

Результат возврата:

  • Boolean, Верните True, если оно равно NULL

isNullOrUndefined

Проверьте, является ли данная переменная Null или Undefined

1
static Boolean util.isNullOrUndefined(Value v);

Параметры звонка:

  • v: Значение для проверяемой переменной.

Результат возврата:

  • Boolean, Вернуть True, если оно равно NULL или Undefined

isNumber

Проверить, является ли данная переменная числом

1
static Boolean util.isNumber(Value v);

Параметры звонка:

  • v: Значение для проверяемой переменной.

Результат возврата:

  • Boolean, Верните True, если это число

isBigInt

Проверьте, является ли данная переменная BigInt

1
static Boolean util.isBigInt(Value v);

Параметры звонка:

  • v: Значение для проверяемой переменной.

Результат возврата:

  • Boolean, Верните True, если это число

isString

Проверить, является ли данная переменная строкой

1
static Boolean util.isString(Value v);

Параметры звонка:

  • v: Значение для проверяемой переменной.

Результат возврата:

  • Boolean, Возвращает True, если это строка

isUndefined

Проверить, не определена ли данная переменная

1
static Boolean util.isUndefined(Value v);

Параметры звонка:

  • v: Значение для проверяемой переменной.

Результат возврата:

  • Boolean, Верните True, если он не определен

isRegExp

Проверить, является ли данная переменная обычным объектом

1
static Boolean util.isRegExp(Value v);

Параметры звонка:

  • v: Значение для проверяемой переменной.

Результат возврата:

  • Boolean, Верните True, если это обычный объект

isObject

Проверить, является ли данная переменная объектом

1
static Boolean util.isObject(Value v);

Параметры звонка:

  • v: Значение для проверяемой переменной.

Результат возврата:

  • Boolean, Верните True, если это объект

isDate

Проверить, является ли данная переменная объектом даты

1
static Boolean util.isDate(Value v);

Параметры звонка:

  • v: Значение для проверяемой переменной.

Результат возврата:

  • Boolean, Верните True, если это объект даты

isNativeError

Проверить, не является ли данная переменная неправильным объектом

1
static Boolean util.isNativeError(Value v);

Параметры звонка:

  • v: Значение для проверяемой переменной.

Результат возврата:

  • Boolean, Верните True, если это объект ошибки

isPrimitive

Проверить, имеет ли данная переменная примитивный тип

1
static Boolean util.isPrimitive(Value v);

Параметры звонка:

  • v: Значение для проверяемой переменной.

Результат возврата:

  • Boolean, Верните True, если это примитивный тип

isSymbol

Проверьте, имеет ли данная переменная тип Symbol

1
static Boolean util.isSymbol(Value v);

Параметры звонка:

  • v: Значение для проверяемой переменной.

Результат возврата:

  • Boolean, Если это тип символа, он возвращает True

isDataView

Проверьте, имеет ли данная переменная тип DataView

1
static Boolean util.isDataView(Value v);

Параметры звонка:

  • v: Значение для проверяемой переменной.

Результат возврата:

  • Boolean, Верните True, если он имеет тип DataView

isExternal

Проверьте, имеет ли данная переменная тип External

1
static Boolean util.isExternal(Value v);

Параметры звонка:

  • v: Значение для проверяемой переменной.

Результат возврата:

  • Boolean, Если это внешний тип, он возвращает True

isMap

Проверьте, имеет ли данная переменная тип Map

1
static Boolean util.isMap(Value v);

Параметры звонка:

  • v: Значение для проверяемой переменной.

Результат возврата:

  • Boolean, Верните True, если это тип карты

isMapIterator

Проверьте, имеет ли данная переменная тип MapIterator

1
static Boolean util.isMapIterator(Value v);

Параметры звонка:

  • v: Значение для проверяемой переменной.

Результат возврата:

  • Boolean, Верните True, если он имеет тип MapIterator

isPromise

Проверить, относится ли данная переменная к типу обещания

1
static Boolean util.isPromise(Value v);

Параметры звонка:

  • v: Значение для проверяемой переменной.

Результат возврата:

  • Boolean, Верните True, если это тип обещания

isAsyncFunction

Проверьте, имеет ли данная переменная тип AsyncFunction

1
static Boolean util.isAsyncFunction(Value v);

Параметры звонка:

  • v: Значение для проверяемой переменной.

Результат возврата:

  • Boolean, Возвращает True, если он имеет тип AsyncFunction

isSet

Проверьте, имеет ли данная переменная тип Set

1
static Boolean util.isSet(Value v);

Параметры звонка:

  • v: Значение для проверяемой переменной.

Результат возврата:

  • Boolean, Если это тип Set, он возвращает True

isSetIterator

Проверьте, имеет ли данная переменная тип SetIterator

1
static Boolean util.isSetIterator(Value v);

Параметры звонка:

  • v: Значение для проверяемой переменной.

Результат возврата:

  • Boolean, Верните True, если он имеет тип SetIterator

isTypedArray

Проверить, имеет ли данная переменная тип TypedArray

1
static Boolean util.isTypedArray(Value v);

Параметры звонка:

  • v: Значение для проверяемой переменной.

Результат возврата:

  • Boolean, Если это тип TypedArray, он возвращает True

isUint8Array

Проверьте, имеет ли данная переменная тип Uint8Array

1
static Boolean util.isUint8Array(Value v);

Параметры звонка:

  • v: Значение для проверяемой переменной.

Результат возврата:

  • Boolean, Возвращает True, если он имеет тип Uint8Array

isFunction

Проверить, является ли данная переменная функциональным объектом

1
static Boolean util.isFunction(Value v);

Параметры звонка:

  • v: Значение для проверяемой переменной.

Результат возврата:

  • Boolean, Возвращает True, если это функциональный объект

isBuffer

Проверить, является ли данная переменная функцией Buffer Объект

1
static Boolean util.isBuffer(Value v);

Параметры звонка:

  • v: Значение для проверяемой переменной.

Результат возврата:

  • Boolean, Если это функция Buffer Объект возвращает True

isDeepEqual

Глубина тестового значения равна ожидаемому значению.

1 2
static Boolean util.isDeepEqual(Value actual, Value expected);

Параметры звонка:

  • actual: Значение, значение для проверки.
  • expected: Значение, ожидаемое значение

Результат возврата:

  • Boolean, Верните True, если глубины равны

has

Запросить, содержит ли указанный объект данный ключ

1 2
static Boolean util.has(Value v, String key);

Параметры звонка:

  • v: Значение, заданное запрашиваемым объектом.
  • key: String, укажите ключ для запроса

Результат возврата:

  • Boolean, Возвращает массив всех ключей объекта

keys

Запросить все ключевые массивы указанного объекта

1
static Array util.keys(Value v);

Параметры звонка:

  • v: Значение, заданное запрашиваемым объектом.

Результат возврата:

  • Array, Возвращает массив всех ключей объекта

values

Запросить массив всех значений указанного объекта

1
static Array util.values(Value v);

Параметры звонка:

  • v: Значение, заданное запрашиваемым объектом.

Результат возврата:

  • Array, Возвращает массив всех значений объекта

clone

Клонируйте данную переменную, если это объект или массив, скопируйте содержимое в новый объект

1
static Value util.clone(Value v);

Параметры звонка:

  • v: Значение для клонируемой переменной.

Результат возврата:

  • Value, Вернуть клонированный результат

deepFreeze

Если заморозить объект, замороженный объект и содержащиеся в нем объекты не будут изменены.

1
static util.deepFreeze(Value v);

Параметры звонка:

  • v: Значение, укажите объект, который нужно заморозить

extend

Расширить значение ключа одного или нескольких объектов до указанного объекта

1 2
static Value util.extend(Value v, ...objs);

Параметры звонка:

  • v: Значение, укажите объект, который нужно развернуть
  • objs: ..., укажите один или несколько объектов для раскрытия

Результат возврата:

  • Value, Возвращает развернутый результат

_extend

Расширить значение ключа одного или нескольких объектов до указанного объекта, который является псевдонимом расширения

1 2
static Value util._extend(Value v, ...objs);

Параметры звонка:

  • v: Значение, укажите объект, который нужно развернуть
  • objs: ..., укажите один или несколько объектов для раскрытия

Результат возврата:

  • Value, Возвращает развернутый результат

pick

ВернутьobjectКопировать, отфильтровать только значение атрибута указанного ключа

1 2
static Object util.pick(Value v, ...objs);

Параметры звонка:

  • v: Значение, укажите объект для фильтрации
  • objs: ..., укажите один или несколько ключей для выбора

Результат возврата:

  • Object, Вернуть отфильтрованный результат

omit

ВернутьobjectКопировать, просто исключить значение атрибута указанного ключа

1 2
static Object util.omit(Value v, ...keys);

Параметры звонка:

  • v: Значение, укажите объект для фильтрации
  • keys: ... укажите один или несколько ключей для исключения

Результат возврата:

  • Object, Возвращает исключенные результаты

first

Получить первый элемент массива

1
static Value util.first(Value v);

Параметры звонка:

  • v: Значение, заданное массивом, который нужно получить

Результат возврата:

  • Value, Вернуть полученный элемент

Получить первые несколько элементов массива

1 2
static Value util.first(Value v, Integer n);

Параметры звонка:

  • v: Значение, заданное массивом, который нужно получить
  • n: Целое число, укажите количество получаемых элементов

Результат возврата:

  • Value, Возвращает полученный массив элементов

last

Получить первый элемент массива

1
static Value util.last(Value v);

Параметры звонка:

  • v: Значение, заданное массивом, который нужно получить

Результат возврата:

  • Value, Вернуть полученный элемент

Получить несколько элементов в конце массива

1 2
static Value util.last(Value v, Integer n);

Параметры звонка:

  • v: Значение, заданное массивом, который нужно получить
  • n: Целое число, укажите количество получаемых элементов

Результат возврата:

  • Value, Возвращает полученный массив элементов

unique

Получите копию элементов массива после дедупликации

1 2
static Array util.unique(Value v, Boolean sorted = false);

Параметры звонка:

  • v: Значение для дедуплицированного массива.
  • sorted: Boolean, укажите, будет ли массив отсортирован или нет, если массив указан для сортировки, будет использоваться быстрый алгоритм

Результат возврата:

  • Array, Вернуть массив после дедупликации

union

Объедините значения одного или нескольких массивов в массив с уникальными значениями

1
static Array util.union(...arrs);

Параметры звонка:

  • arrs: ... укажите один или несколько массивов для слияния

Результат возврата:

  • Array, Вернуть объединенный результат

intersection

Возвращает пересечение массива, содержащего arr и исключая один или несколько элементов массива.

1
static Array util.intersection(...arrs);

Параметры звонка:

  • arrs: ... укажите один или несколько массивов для вычисления пересечения

Результат возврата:

  • Array, Возвращает результат вычисления пересечения

flatten

Преобразуйте массив с несколькими уровнями вложенности (количество уровней вложенности может быть любым) в массив только с одним уровнем. Если вы передадите параметр shallow, массив уменьшит только одномерное вложение.

1 2
static Array util.flatten(Value arr, Boolean shallow = false);

Параметры звонка:

  • arr: Значение, укажите массив, который нужно преобразовать
  • shallow: Boolean, укажите, следует ли уменьшать только одномерное вложение, по умолчанию false

Результат возврата:

  • Array, Вернуть результат преобразования

without

Возвращает массив, содержащий один или несколько элементов, исключенных из массива arr.

1 2
static Array util.without(Value arr, ...els);

Параметры звонка:

  • arr: Значение, укажите массив, который нужно исключить
  • els: ... укажите один или несколько элементов, которые нужно исключить

Результат возврата:

  • Array, Возвращает исключенные результаты

difference

Вернуть массив, который содержит массив arr и исключает элемент без массива

1 2
static Array util.difference(Array list, ...arrs);

Параметры звонка:

  • list: Массив, укажите массив, который нужно исключить
  • arrs: ... укажите один или несколько массивов для исключения

Результат возврата:

  • Array, Возвращает исключенные результаты

each

Просмотрите все элементы в списке и выведите каждый элемент в порядке обхода. Если параметр контекста передан, итератор привязывается к объекту контекста. Каждый вызов итератора будет передавать три параметра: (элемент, индекс, список)

1 2 3
static Value util.each(Value list, Function iterator, Value context = undefined);

Параметры звонка:

  • list: Значение, укажите список или объект, по которому нужно пройти
  • iterator: Функция, укажите функцию обратного вызова, используемую для обхода
  • context: Значение, укажите привязку объекта контекста при вызове итератора

Результат возврата:

  • Value, Верните сам список

map

С помощью функции преобразования (итератора) каждое значение в списке сопоставляется с новым массивом. Если параметр контекста передан, итератор привязывается к объекту контекста. Каждый вызов итератора будет передавать три параметра: (элемент, индекс, список)

1 2 3
static Array util.map(Value list, Function iterator, Value context = undefined);

Параметры звонка:

  • list: Значение, укажите список или объект, который нужно преобразовать
  • iterator: Функция, укажите функцию обратного вызова, используемую для преобразования
  • context: Значение, укажите привязку объекта контекста при вызове итератора

Результат возврата:

  • Array, Возвращает результат преобразования

reduce

Сократите элементы в списке до одного значения. Если параметр контекста передан, итератор привязывается к объекту контекста. Каждый вызов итератора будет передавать три параметра: (памятка, элемент, индекс, список)

1 2 3 4
static Value util.reduce(Value list, Function iterator, Value memo, Value context = undefined);

Параметры звонка:

  • list: Значение, укажите список или объект для разрешения
  • iterator: Функция, укажите функцию обратного вызова, используемую для разрешения
  • memo: Значение, укажите начальное значение разрешения
  • context: Значение, укажите привязку объекта контекста при вызове итератора

Результат возврата:

  • Value, Вернуть результат разрешения

parseArgs

Проанализируйте строку командной строки и верните список параметров

1
static NArray util.parseArgs(String command);

Параметры звонка:

  • command: String, укажите строку командной строки для анализа

Результат возврата:

  • NArray, Вернуть список проанализированных параметров

compile

Скомпилировать скрипт как двоичный код

1 2 3
static Buffer util.compile(String srcname, String script, Integer mode = 0);

Параметры звонка:

  • srcname: String укажите имя добавляемого скрипта
  • script: String укажите код скрипта для компиляции
  • mode: Целое число, режим компиляции, 0: модуль, 1: скрипт, 2: рабочий, по умолчанию 0

Результат возврата:

  • Buffer, Верните скомпилированный двоичный код

util.compileСкрипт может быть скомпилирован во внутренний рабочий блок данных v8 (немашинный исполняемый код). После того, как скомпилированный код сохранен как * .jsc, его можно загрузить и выполнить напрямую с помощью run и require.

После компиляции целевой код не сможет получить исходный код в обратном порядке, и программа, зависящая от Function.toString, не будет работать нормально.


sync

Оберните функцию обратного вызова или асинхронную функцию как синхронный вызов

1 2
static Function util.sync(Function func, Boolean async_func = false);

Параметры звонка:

  • func: Функция, учитывая функцию, которую нужно обернуть
  • async_func: Boolean, укажите обрабатывать func как асинхронную функцию, если false, она будет оцениваться автоматически

Результат возврата:

  • Function, Возвращает функцию, которая выполняется синхронно

util.sync Рассматривайте функцию обратного вызова или асинхронную функцию как функцию синхронизации для облегчения вызова.

Пример обратного вызова выглядит следующим образом:

1 2 3 4 5 6 7 8 9 10 11
// callback var util = require('util'); function cb_test(a, b, cb) { setTimeout(() => { cb(null, a + b); }, 100); } var fn_sync = util.sync(cb_test); console.log(fn_sync(100, 200));

Пример async выглядит следующим образом:

1 2 3 4 5 6 7 8 9
// async/await var util = require('util'); async function async_test(a, b) { return a + b; } var fn_sync = util.sync(async_test); console.log(fn_sync(100, 200));

Для функций, возвращающих обещания, не помеченные как асинхронные, вы можете вручную указать режим синхронизации:

1 2 3 4 5 6 7 8 9 10 11
// async/await var util = require('util'); function async_test(a, b) { return new Promise(function(resolve, reject) { resolve(a + b); }); } var fn_sync = util.sync(async_test, true); console.log(fn_sync(100, 200));

promisify

Оберните функцию обратного вызова как асинхронный вызов

1
static Function util.promisify(Function func);

Параметры звонка:

  • func: Функция, учитывая функцию, которую нужно обернуть

Результат возврата:

  • Function, Верните асинхронную функцию

util.promisify Рассматривайте функцию обратного вызова как асинхронную функцию для облегчения вызова.

Пример обратного вызова выглядит следующим образом:

1 2 3 4 5 6 7 8 9 10 11
// callback var util = require('util'); function cb_test(a, b, cb) { setTimeout(() => { cb(null, a + b); }, 100); } var fn_sync = util.promisify(cb_test); console.log(async fn_sync(100, 200));

callbackify

Оберните асинхронную функцию как обратный вызов

1
static Function util.callbackify(Function func);

Параметры звонка:

  • func: Функция, учитывая функцию, которую нужно обернуть

Результат возврата:

  • Function, Возврат функции обратного вызова

util.callbackify Рассматривайте асинхронную функцию как функцию обратного вызова для облегчения вызова.

Пример async выглядит следующим образом:

1 2 3 4 5 6 7 8 9 10 11 12
// async var util = require('util'); async function async_test(a, b) { return a + b; } var fn_callback = util.callbackify(async_test); fn_callback(100, 200, (err, result) => { console.log(result); });

buildInfo

Запросить информацию о текущей версии движка и компонента

1
static Object util.buildInfo();

Результат возврата:

  • Object, Возвращает объект версии компонента
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
{ "fibjs": "0.25.0", "clang": "9.1", "date": "Jun 12 2018 07:22:40", "vender": { "ev": "4.24", "expat": "2.2.5", "gd": "2.2.4", "jpeg": "8.3", "leveldb": "1.17", "mongo": "0.7", "pcre": "8.21", "png": "1.5.4", "mbedtls": "2.6.1", "snappy": "1.1.2", "sqlite": "3.23.0", "tiff": "3.9.5", "uuid": "1.6.2", "v8": "6.7.288.20", "v8-snapshot": true, "zlib": "1.2.7", "zmq": "3.1" } }