Module module de base

Module util

Module d'outil commun

Objet

LruCache

Objet de cache LRU (le moins récemment utilisé), voir Objet LruCache .

1
LruCache util.LruCache;

Fonction statique

format

Mettre en forme les variables selon le format spécifié

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

Paramètres d'appel:

  • fmt : chaîne, chaîne de format
  • args : ..., liste de paramètres facultatifs

Résultat de retour:

  • String , renvoie la chaîne formatée

Variable de format

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

Paramètres d'appel:

  • args : ..., liste de paramètres facultatifs

Résultat de retour:

  • String , renvoie la chaîne formatée

inherits

Hériter des méthodes de prototype d'un constructeur à un autre. Le prototype du constructeur sera défini sur un nouvel objet créé à partir du superConstructeur.

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

Paramètres d'appel:

  • constructor : valeur, constructeur initial
  • superConstructor : Value, la super classe héritée

inspect

La méthode renvoie une représentation sous forme de chaîne de obj, qui est principalement utilisée pour le débogage. Des options supplémentaires peuvent être utilisées pour modifier certains aspects de la chaîne de format.

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

Paramètres d'appel:

  • obj : Object, spécifiez l'objet à traiter
  • options : Objet, spécifiez les options de contrôle du format

Résultat de retour:

  • String , renvoie la chaîne formatée

deprecate

Encapsulez la méthode donnée, cette méthode est uniquement compatible et ne génère pas d'avertissement

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

Paramètres d'appel:

  • fn : Fonction, compte tenu de la méthode à encapsuler
  • msg : chaîne, message d'avertissement donné
  • code : Chaîne, numéro d'avertissement donné

Résultat de retour:

  • Function , si le résultat est enveloppé

isEmpty

Vérifiez si la variable donnée ne contient aucune valeur (pas d'attributs énumérables)

1
static Boolean util.isEmpty(Value v);

Paramètres d'appel:

  • v : Valeur, compte tenu de la variable à détecter

Résultat de retour:

  • Boolean , renvoie True s'il est vide

isArray

Vérifiez si la variable donnée est un tableau

1
static Boolean util.isArray(Value v);

Paramètres d'appel:

  • v : Valeur, compte tenu de la variable à détecter

Résultat de retour:

  • Boolean , renvoie True s'il s'agit d'un tableau

isBoolean

Vérifiez si la variable donnée est booléenne

1
static Boolean util.isBoolean(Value v);

Paramètres d'appel:

  • v : Valeur, compte tenu de la variable à détecter

Résultat de retour:

  • Boolean , retourne True si elle est booléenne

isNull

Vérifiez si la variable donnée est Null

1
static Boolean util.isNull(Value v);

Paramètres d'appel:

  • v : Valeur, compte tenu de la variable à détecter

Résultat de retour:

  • Boolean , renvoie True si c'est Null

isNullOrUndefined

Vérifiez si la variable donnée est Null ou Indéfinie

1
static Boolean util.isNullOrUndefined(Value v);

Paramètres d'appel:

  • v : Valeur, compte tenu de la variable à détecter

Résultat de retour:

  • Boolean , renvoie True s'il est Null ou Undefined

isNumber

Vérifiez si la variable donnée est un nombre

1
static Boolean util.isNumber(Value v);

Paramètres d'appel:

  • v : Valeur, compte tenu de la variable à détecter

Résultat de retour:

  • Boolean , renvoie True s'il s'agit d'un nombre

isBigInt

Vérifiez si la variable donnée est BigInt

1
static Boolean util.isBigInt(Value v);

Paramètres d'appel:

  • v : Valeur, compte tenu de la variable à détecter

Résultat de retour:

  • Boolean , renvoie True s'il s'agit d'un nombre

isString

Vérifiez si la variable donnée est une chaîne

1
static Boolean util.isString(Value v);

Paramètres d'appel:

  • v : Valeur, compte tenu de la variable à détecter

Résultat de retour:

  • Boolean , renvoie True s'il s'agit d'une chaîne

isUndefined

Vérifiez si la variable donnée n'est pas définie

1
static Boolean util.isUndefined(Value v);

Paramètres d'appel:

  • v : Valeur, compte tenu de la variable à détecter

Résultat de retour:

  • Boolean , renvoie True si elle n'est pas définie

isRegExp

Vérifiez si la variable donnée est un objet régulier

1
static Boolean util.isRegExp(Value v);

Paramètres d'appel:

  • v : Valeur, compte tenu de la variable à détecter

Résultat de retour:

  • Boolean , renvoie True s'il s'agit d'un objet normal

isObject

Vérifiez si la variable donnée est un objet

1
static Boolean util.isObject(Value v);

Paramètres d'appel:

  • v : Valeur, compte tenu de la variable à détecter

Résultat de retour:

  • Boolean , renvoie True s'il s'agit d'un objet

isDate

Vérifiez si la variable donnée est un objet de date

1
static Boolean util.isDate(Value v);

Paramètres d'appel:

  • v : Valeur, compte tenu de la variable à détecter

Résultat de retour:

  • Boolean , renvoie True s'il s'agit d'un objet date

isNativeError

Vérifiez si la variable donnée est le mauvais objet

1
static Boolean util.isNativeError(Value v);

Paramètres d'appel:

  • v : Valeur, compte tenu de la variable à détecter

Résultat de retour:

  • Boolean , renvoie True s'il s'agit d'un objet d'erreur

isPrimitive

Vérifiez si la variable donnée est de type primitif

1
static Boolean util.isPrimitive(Value v);

Paramètres d'appel:

  • v : Valeur, compte tenu de la variable à détecter

Résultat de retour:

  • Boolean , renvoie True s'il s'agit d'un type primitif

isSymbol

Vérifiez si la variable donnée est de type Symbol

1
static Boolean util.isSymbol(Value v);

Paramètres d'appel:

  • v : Valeur, compte tenu de la variable à détecter

Résultat de retour:

  • Boolean , renvoie True s'il s'agit d'un type Symbol

isDataView

Vérifiez si la variable donnée est de type DataView

1
static Boolean util.isDataView(Value v);

Paramètres d'appel:

  • v : Valeur, compte tenu de la variable à détecter

Résultat de retour:

  • Boolean , renvoie True s'il est de type DataView

isExternal

Vérifiez si la variable donnée est de type Externe

1
static Boolean util.isExternal(Value v);

Paramètres d'appel:

  • v : Valeur, compte tenu de la variable à détecter

Résultat de retour:

  • Boolean , renvoie True s'il s'agit d'un type externe

isMap

Vérifiez si la variable donnée est de type Map

1
static Boolean util.isMap(Value v);

Paramètres d'appel:

  • v : Valeur, compte tenu de la variable à détecter

Résultat de retour:

  • Boolean , renvoie True s'il s'agit d'un type de carte

isMapIterator

Vérifiez si la variable donnée est de type MapIterator

1
static Boolean util.isMapIterator(Value v);

Paramètres d'appel:

  • v : Valeur, compte tenu de la variable à détecter

Résultat de retour:

  • Boolean , renvoie True s'il est de type MapIterator

isPromise

Vérifiez si la variable donnée est de type Promise

1
static Boolean util.isPromise(Value v);

Paramètres d'appel:

  • v : Valeur, compte tenu de la variable à détecter

Résultat de retour:

  • Boolean , renvoie True s'il s'agit d'un type Promise

isAsyncFunction

Vérifiez si la variable donnée est de type AsyncFunction

1
static Boolean util.isAsyncFunction(Value v);

Paramètres d'appel:

  • v : Valeur, compte tenu de la variable à détecter

Résultat de retour:

  • Boolean , renvoie True s'il est de type AsyncFunction

isSet

Vérifiez si la variable donnée est de type Set

1
static Boolean util.isSet(Value v);

Paramètres d'appel:

  • v : Valeur, compte tenu de la variable à détecter

Résultat de retour:

  • Boolean , renvoie True s'il est de type Set

isSetIterator

Vérifiez si la variable donnée est de type SetIterator

1
static Boolean util.isSetIterator(Value v);

Paramètres d'appel:

  • v : Valeur, compte tenu de la variable à détecter

Résultat de retour:

  • Boolean , renvoie True s'il est de type SetIterator

isTypedArray

Vérifiez si la variable donnée est de type TypedArray

1
static Boolean util.isTypedArray(Value v);

Paramètres d'appel:

  • v : Valeur, compte tenu de la variable à détecter

Résultat de retour:

  • Boolean , renvoie True s'il est de type TypedArray

isUint8Array

Vérifiez si la variable donnée est de type Uint8Array

1
static Boolean util.isUint8Array(Value v);

Paramètres d'appel:

  • v : Valeur, compte tenu de la variable à détecter

Résultat de retour:

  • Boolean , renvoie True s'il est de type Uint8Array

isFunction

Vérifiez si la variable donnée est un objet fonction

1
static Boolean util.isFunction(Value v);

Paramètres d'appel:

  • v : Valeur, compte tenu de la variable à détecter

Résultat de retour:

  • Boolean , renvoie True s'il s'agit d'un objet fonction

isBuffer

Vérifiez si la variable donnée est un objet fonction Buffer

1
static Boolean util.isBuffer(Value v);

Paramètres d'appel:

  • v : Valeur, compte tenu de la variable à détecter

Résultat de retour:

  • Boolean , renvoie True s'il s'agit d'un objet de fonction Buffer

has

Demande si l'objet spécifié contient la clé donnée

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

Paramètres d'appel:

  • v : Valeur, compte tenu de l'objet à interroger
  • key : String, spécifiez la clé à interroger

Résultat de retour:

  • Boolean , renvoie un tableau de toutes les clés de l'objet

keys

Interroger tous les tableaux de clés de l'objet spécifié

1
static Array util.keys(Value v);

Paramètres d'appel:

  • v : Valeur, compte tenu de l'objet à interroger

Résultat de retour:

  • Array , retourne un tableau de toutes les clés de l'objet

values

Interroger tous les tableaux de valeurs de l'objet spécifié

1
static Array util.values(Value v);

Paramètres d'appel:

  • v : Valeur, compte tenu de l'objet à interroger

Résultat de retour:

  • Array , renvoie un tableau de toutes les valeurs de l'objet

clone

Clonez la variable donnée, s'il s'agit d'un objet ou d'un tableau, copiez le contenu dans le nouvel objet

1
static Value util.clone(Value v);

Paramètres d'appel:

  • v : Valeur, compte tenu de la variable à cloner

Résultat de retour:

  • Value , renvoie le résultat du clone

deepFreeze

Deep Freeze un objet, l'objet gelé et ses objets contenus ne seront pas autorisés à être modifiés

1
static util.deepFreeze(Value v);

Paramètres d'appel:

  • v : Valeur, spécifiez l'objet à figer

extend

Étendre la valeur de clé d'un ou plusieurs objets à l'objet spécifié

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

Paramètres d'appel:

  • v : Valeur, spécifiez l'objet à développer
  • objs : ..., spécifiez un ou plusieurs objets à développer

Résultat de retour:

  • Value , renvoie le résultat développé

_extend

Étend la valeur de clé d'un ou plusieurs objets à l'objet spécifié, qui est un alias d'extension

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

Paramètres d'appel:

  • v : Valeur, spécifiez l'objet à développer
  • objs : ..., spécifiez un ou plusieurs objets à développer

Résultat de retour:

  • Value , renvoie le résultat développé

pick

Renvoie une copie de l' object , en filtrant uniquement la valeur d'attribut de la clé spécifiée

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

Paramètres d'appel:

  • v : Valeur, spécifiez l'objet à filtrer
  • objs : ..., spécifiez une ou plusieurs clés de sélection

Résultat de retour:

  • Object , renvoie le résultat filtré

omit

Renvoie une copie de l' object , uniquement en excluant la valeur d'attribut de la clé spécifiée

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

Paramètres d'appel:

  • v : Valeur, spécifiez l'objet à filtrer
  • keys : ..., spécifiez une ou plusieurs clés à exclure

Résultat de retour:

  • Object , renvoie le résultat exclu

first

Récupère le premier élément du tableau

1
static Value util.first(Value v);

Paramètres d'appel:

  • v : Valeur, compte tenu du tableau à obtenir

Résultat de retour:

  • Value , renvoie l'élément obtenu

Obtenez les premiers éléments multiples du tableau

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

Paramètres d'appel:

  • v : Valeur, compte tenu du tableau à obtenir
  • n : Entier, spécifiez le nombre d'éléments à obtenir

Résultat de retour:

  • Value , renvoie le tableau d'éléments obtenu

last

Récupère le premier élément du tableau

1
static Value util.last(Value v);

Paramètres d'appel:

  • v : Valeur, compte tenu du tableau à obtenir

Résultat de retour:

  • Value , renvoie l'élément obtenu

Obtenez plusieurs éléments à la fin du tableau

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

Paramètres d'appel:

  • v : Valeur, compte tenu du tableau à obtenir
  • n : Entier, spécifiez le nombre d'éléments à obtenir

Résultat de retour:

  • Value , renvoie le tableau d'éléments obtenu

unique

Obtenez un double des éléments du tableau

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

Paramètres d'appel:

  • v : Valeur, compte tenu du tableau à dupliquer
  • sorted : Boolean, spécifie si le tableau est trié, si le tableau est spécifié pour être trié, un algorithme rapide sera utilisé

Résultat de retour:

  • Array , renvoie le tableau après avoir supprimé les éléments en double

union

Combinez les valeurs d'un ou plusieurs tableaux dans un tableau avec des valeurs uniques

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

Paramètres d'appel:

  • arrs : ..., spécifiez un ou plusieurs tableaux à fusionner

Résultat de retour:

  • Array , renvoie le résultat de la fusion

intersection

Renvoie l'intersection d'un tableau contenant arr et excluant un ou plusieurs éléments du tableau

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

Paramètres d'appel:

  • arrs : ..., spécifiez un ou plusieurs tableaux pour calculer l'intersection

Résultat de retour:

  • Array , renvoie le résultat du calcul de l'intersection

flatten

Convertissez un tableau avec plusieurs niveaux d'imbrication (l'imbrication peut être de n'importe quel niveau) en un tableau avec un seul niveau. Si vous passez le paramètre shallow, le tableau réduira uniquement l'imbrication unidimensionnelle.

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

Paramètres d'appel:

  • arr : Valeur, spécifiez le tableau à convertir
  • shallow : Boolean, spécifiez s'il faut réduire uniquement l'imbrication unidimensionnelle, la valeur par défaut est false

Résultat de retour:

  • Array , renvoie le résultat de la conversion

without

Renvoie un tableau contenant un ou plusieurs éléments exclus du tableau arr

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

Paramètres d'appel:

  • arr : Valeur, spécifiez le tableau à exclure
  • els : ..., spécifiez un ou plusieurs éléments à exclure

Résultat de retour:

  • Array , renvoie le résultat exclu

difference

Renvoie un tableau contenant le tableau arr après avoir exclu sans éléments de tableau

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

Paramètres d'appel:

  • list : Array, spécifiez le tableau à exclure
  • arrs : ..., spécifiez un ou plusieurs tableaux à exclure

Résultat de retour:

  • Array , renvoie le résultat exclu

each

Parcourez tous les éléments de la liste et affichez chaque élément dans l'ordre avec traversal. Si le paramètre de contexte est passé, l'itérateur est lié à l'objet de contexte. Chaque appel à l'itérateur passera trois paramètres: (élément, index, liste)

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

Paramètres d'appel:

  • list : Valeur, spécifiez la liste ou l'objet à parcourir
  • iterator : Fonction, spécifiez la fonction de rappel utilisée pour le parcours
  • context : Valeur, spécifiez l'objet de contexte lié lors de l'appel de l'itérateur

Résultat de retour:

  • Value , renvoie la liste elle-même

map

Grâce à la fonction de transformation (itérateur), chaque valeur de la liste est mappée à un nouveau tableau. Si le paramètre de contexte est passé, l'itérateur est lié à l'objet de contexte. Chaque appel à l'itérateur passera trois paramètres: (élément, index, liste)

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

Paramètres d'appel:

  • list : Valeur, spécifiez la liste ou l'objet à transformer
  • iterator : Fonction, spécifiez la fonction de rappel utilisée pour la transformation
  • context : Valeur, spécifiez l'objet de contexte lié lors de l'appel de l'itérateur

Résultat de retour:

  • Array , renvoie le résultat de la transformation

reduce

Réduisez les éléments de la liste à une valeur unique. Si le paramètre de contexte est passé, l'itérateur est lié à l'objet de contexte. Trois paramètres sont passés à chaque appel de l'itérateur: (mémo, élément, index, liste)

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

Paramètres d'appel:

  • list : Valeur, spécifiez la liste ou l'objet à résoudre
  • iterator : Fonction, spécifiez la fonction de rappel utilisée pour la résolution
  • memo : Valeur, spécifiez la valeur initiale de la memo
  • context : Valeur, spécifiez l'objet de contexte lié lors de l'appel de l'itérateur

Résultat de retour:

  • Value , renvoie le résultat de la résolution

compile

Compiler le script en code binaire

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

Paramètres d'appel:

  • srcname : String, spécifiez le nom du script à ajouter
  • script : String, spécifiez le code de script à compiler
  • mode : Entier, mode de compilation, 0: module, 1: script, 2: worker, la valeur par défaut est 0

Résultat de retour:

  • Buffer , retourne le code binaire compilé

util.compile peut compiler des scripts dans des blocs de données d'exécution internes v8 (code d'exécution non machine). Une fois le code compilé enregistré sous * .jsc, il peut être chargé et exécuté directement par run and require.

Après la compilation, le code cible ne pourra pas obtenir le code source en sens inverse et le programme qui dépend de Function.toString ne fonctionnera pas normalement.


sync

Enveloppez la méthode de rappel ou asynchrone comme un appel synchrone

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

Paramètres d'appel:

  • func : Fonction, compte tenu de la méthode à encapsuler
  • async_func : Boolean, spécifiez de traiter func en tant que fonction async, s'il est faux, il sera jugé automatiquement

Résultat de retour:

  • Function , renvoie la méthode à exécuter de manière synchrone

util.sync traite la méthode de rappel ou la méthode async comme une méthode de synchronisation pour un appel pratique.

L'exemple de rappel est le suivant:

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));

L'exemple async est le suivant:

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));

Pour les fonctions qui renvoient des promesses qui ne sont pas marquées comme asynchrones, vous pouvez spécifier manuellement le mode de synchronisation:

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));

buildInfo

Interroger les informations sur la version actuelle du moteur et des composants

1
static Object util.buildInfo();

Résultat de retour:

  • Object , renvoie l'objet de version du composant
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" } }