Module util
Module d'outil commun
Objet
LruCache
Objet de cache LRU (le moins récemment utilisé), voir LruCache Objet.
1LruCache util.LruCache;
Fonction statique
format
Formater les variables selon le format spécifié
1
2static String util.format(String fmt,
...args);
Paramètres d'appel :
- fmt: chaîne, chaîne de format
- args: ..., liste de paramètres optionnels
Résultat de retour :
- String, Renvoie la chaîne formatée
Variables de formatage
1static String util.format(...args);
Paramètres d'appel :
- args: ..., liste de paramètres optionnels
Résultat de retour :
- String, Renvoie la chaîne formatée
inherits
Hériter de la fonction prototype d'un constructeur à un autre. Le prototype du constructeur sera défini sur un nouvel objet créé à partir du superConstructeur.
1
2static util.inherits(Value constructor,
Value superConstructor);
Paramètres d'appel :
- constructor: Value, le constructeur initial
- superConstructor: Value, la superclasse à hériter
inspect
La fonction renvoie la 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
2static String util.inspect(Value obj,
Object options = {});
Paramètres d'appel :
- obj: Valeur, spécifiez l'objet à traiter
- options: Objet, spécifiez les options de contrôle de format
Résultat de retour :
- String, Renvoie la chaîne formatée
Les paramètres suivants sont pris en charge :
1
2
3
4
5
6{
"colors": false, // 指定是否输出 ansi 作色字符串,缺省为 false
"table": false, // 指定输出 table 格式,缺省为 false
"encode_string": true, // 指定表格中的字符串是否编码,缺省为 true
"fields": [], // 当 table 为 true 时指定显示字段
}
deprecate
Encapsuler la fonction donnée, cette fonction est uniquement compatible et n'émet pas d'avertissement
1
2
3static Function util.deprecate(Function fn,
String msg,
String code = "");
Paramètres d'appel :
- fn: Fonction, étant donné la fonction à 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 de l'encapsulation
isEmpty
Vérifiez si la variable donnée ne contient aucune valeur (pas d'attributs énumérables)
1static Boolean util.isEmpty(Value v);
Paramètres d'appel :
- v: Valeur, compte tenu de la variable à tester
Résultat de retour :
- Boolean, Renvoie True s'il est vide
isArray
Vérifier si la variable donnée est un tableau
1static Boolean util.isArray(Value v);
Paramètres d'appel :
- v: Valeur, compte tenu de la variable à tester
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
1static Boolean util.isBoolean(Value v);
Paramètres d'appel :
- v: Valeur, compte tenu de la variable à tester
Résultat de retour :
- Boolean, Renvoie True s'il s'agit d'un booléen
isNull
Vérifiez si la variable donnée est Null
1static Boolean util.isNull(Value v);
Paramètres d'appel :
- v: Valeur, compte tenu de la variable à tester
Résultat de retour :
- Boolean, Renvoie True s'il est Null
isNullOrUndefined
Vérifiez si la variable donnée est Null ou Undefined
1static Boolean util.isNullOrUndefined(Value v);
Paramètres d'appel :
- v: Valeur, compte tenu de la variable à tester
Résultat de retour :
- Boolean, Renvoie True s'il est Null ou Undefined
isNumber
Vérifier si la variable donnée est un nombre
1static Boolean util.isNumber(Value v);
Paramètres d'appel :
- v: Valeur, compte tenu de la variable à tester
Résultat de retour :
- Boolean, Renvoie True s'il s'agit d'un nombre
isBigInt
Vérifiez si la variable donnée est BigInt
1static Boolean util.isBigInt(Value v);
Paramètres d'appel :
- v: Valeur, compte tenu de la variable à tester
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
1static Boolean util.isString(Value v);
Paramètres d'appel :
- v: Valeur, compte tenu de la variable à tester
Résultat de retour :
- Boolean, Renvoie True s'il s'agit d'une chaîne
isUndefined
Vérifiez si la variable donnée est indéfinie
1static Boolean util.isUndefined(Value v);
Paramètres d'appel :
- v: Valeur, compte tenu de la variable à tester
Résultat de retour :
- Boolean, Renvoie True s'il n'est pas défini
isRegExp
Vérifiez si la variable donnée est un objet régulier
1static Boolean util.isRegExp(Value v);
Paramètres d'appel :
- v: Valeur, compte tenu de la variable à tester
Résultat de retour :
- Boolean, Renvoie True s'il s'agit d'un objet régulier
isObject
Vérifier si la variable donnée est un objet
1static Boolean util.isObject(Value v);
Paramètres d'appel :
- v: Valeur, compte tenu de la variable à tester
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 date
1static Boolean util.isDate(Value v);
Paramètres d'appel :
- v: Valeur, compte tenu de la variable à tester
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
1static Boolean util.isNativeError(Value v);
Paramètres d'appel :
- v: Valeur, compte tenu de la variable à tester
Résultat de retour :
- Boolean, Renvoie True s'il s'agit d'un objet d'erreur
isPrimitive
Vérifier si la variable donnée est de type primitif
1static Boolean util.isPrimitive(Value v);
Paramètres d'appel :
- v: Valeur, compte tenu de la variable à tester
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 Symbole
1static Boolean util.isSymbol(Value v);
Paramètres d'appel :
- v: Valeur, compte tenu de la variable à tester
Résultat de retour :
- Boolean, S'il s'agit d'un type Symbol, il renvoie True
isDataView
Vérifiez si la variable donnée est de type DataView
1static Boolean util.isDataView(Value v);
Paramètres d'appel :
- v: Valeur, compte tenu de la variable à tester
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
1static Boolean util.isExternal(Value v);
Paramètres d'appel :
- v: Valeur, compte tenu de la variable à tester
Résultat de retour :
- Boolean, S'il s'agit d'un type externe, il renvoie True
isMap
Vérifiez si la variable donnée est de type Map
1static Boolean util.isMap(Value v);
Paramètres d'appel :
- v: Valeur, compte tenu de la variable à tester
Résultat de retour :
- Boolean, Renvoie True s'il s'agit d'un type Map
isMapIterator
Vérifiez si la variable donnée est de type MapIterator
1static Boolean util.isMapIterator(Value v);
Paramètres d'appel :
- v: Valeur, compte tenu de la variable à tester
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
1static Boolean util.isPromise(Value v);
Paramètres d'appel :
- v: Valeur, compte tenu de la variable à tester
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
1static Boolean util.isAsyncFunction(Value v);
Paramètres d'appel :
- v: Valeur, compte tenu de la variable à tester
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
1static Boolean util.isSet(Value v);
Paramètres d'appel :
- v: Valeur, compte tenu de la variable à tester
Résultat de retour :
- Boolean, S'il s'agit d'un type Set, il renvoie True
isSetIterator
Vérifiez si la variable donnée est de type SetIterator
1static Boolean util.isSetIterator(Value v);
Paramètres d'appel :
- v: Valeur, compte tenu de la variable à tester
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
1static Boolean util.isTypedArray(Value v);
Paramètres d'appel :
- v: Valeur, compte tenu de la variable à tester
Résultat de retour :
- Boolean, S'il s'agit d'un type TypedArray, il renvoie True
isUint8Array
Vérifiez si la variable donnée est de type Uint8Array
1static Boolean util.isUint8Array(Value v);
Paramètres d'appel :
- v: Valeur, compte tenu de la variable à tester
Résultat de retour :
- Boolean, Renvoie True s'il est de type Uint8Array
isFunction
Vérifier si la variable donnée est un objet fonction
1static Boolean util.isFunction(Value v);
Paramètres d'appel :
- v: Valeur, compte tenu de la variable à tester
Résultat de retour :
- Boolean, Renvoie True s'il s'agit d'un objet fonction
isBuffer
Vérifier si la variable donnée est une fonction Buffer Objet
1static Boolean util.isBuffer(Value v);
Paramètres d'appel :
- v: Valeur, compte tenu de la variable à tester
Résultat de retour :
- Boolean, si c'est une fonction Buffer L'objet renvoie True
isDeepEqual
La profondeur de la valeur de test est égale à la valeur attendue
1
2static Boolean util.isDeepEqual(Value actual,
Value expected);
Paramètres d'appel :
- actual: Value, la valeur à tester
- expected: Valeur, valeur attendue
Résultat de retour :
- Boolean, Renvoie True si les profondeurs sont égales
has
Demande si l'objet spécifié contient la clé donnée
1
2static Boolean util.has(Value v,
String key);
Paramètres d'appel :
- v: Valeur, étant donné 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é
1static Array util.keys(Value v);
Paramètres d'appel :
- v: Valeur, étant donné l'objet à interroger
Résultat de retour :
- Array, Renvoie un tableau de toutes les clés de l'objet
values
Interroger le tableau de toutes les valeurs de l'objet spécifié
1static Array util.values(Value v);
Paramètres d'appel :
- v: Valeur, étant donné l'objet à interroger
Résultat de retour :
- Array, Renvoie un tableau de toutes les valeurs de l'objet
clone
Cloner la variable donnée, si c'est un objet ou un tableau, copier le contenu dans le nouvel objet
1static Value util.clone(Value v);
Paramètres d'appel :
- v: Valeur, étant donné la variable à cloner
Résultat de retour :
- Value, Renvoie le résultat cloné
deepFreeze
Geler un objet, l'objet gelé et ses objets contenus ne seront pas autorisés à être modifiés
1static util.deepFreeze(Value v);
Paramètres d'appel :
- v: Valeur, spécifiez l'objet à geler
extend
Étendre la valeur clé d'un ou plusieurs objets à l'objet spécifié
1
2static 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
Étendre la valeur clé d'un ou plusieurs objets à l'objet spécifié, qui est un alias de extend
1
2static 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
Retourner unobjectCopier, filtrer uniquement la valeur d'attribut de la clé spécifiée
1
2static Object util.pick(Value v,
...objs);
Paramètres d'appel :
- v: Valeur, spécifiez l'objet à filtrer
- objs: ..., spécifiez une ou plusieurs touches de sélection
Résultat de retour :
- Object, Renvoie le résultat filtré
omit
Retourner unobjectCopier, exclure simplement la valeur d'attribut de la clé spécifiée
1
2static 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 les résultats exclus
first
Obtenir le premier élément du tableau
1static Value util.first(Value v);
Paramètres d'appel :
- v: Valeur, étant donné le tableau à obtenir
Résultat de retour :
- Value, Renvoie l'élément récupéré
Obtenir les premiers éléments multiples du tableau
1
2static Value util.first(Value v,
Integer n);
Paramètres d'appel :
- v: Valeur, étant donné le tableau à obtenir
- n: Entier, précisez le nombre d'éléments à obtenir
Résultat de retour :
- Value, Renvoie le tableau d'éléments obtenu
last
Obtenir le premier élément du tableau
1static Value util.last(Value v);
Paramètres d'appel :
- v: Valeur, étant donné le tableau à obtenir
Résultat de retour :
- Value, Renvoie l'élément récupéré
Obtenir plusieurs éléments à la fin du tableau
1
2static Value util.last(Value v,
Integer n);
Paramètres d'appel :
- v: Valeur, étant donné le tableau à obtenir
- n: Entier, précisez le nombre d'éléments à obtenir
Résultat de retour :
- Value, Renvoie le tableau d'éléments obtenu
unique
Obtenir une copie des éléments du tableau après déduplication
1
2static Array util.unique(Value v,
Boolean sorted = false);
Paramètres d'appel :
- v: Valeur, étant donné le tableau à dédupliquer
- sorted: Booléen, précise si le tableau est trié ou non, si le tableau est spécifié pour être trié, un algorithme rapide sera utilisé
Résultat de retour :
- Array, Renvoie le tableau après déduplication
union
Combinez les valeurs d'un ou plusieurs tableaux dans un tableau avec des valeurs uniques
1static 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 fusionné
intersection
Renvoie l'intersection d'un tableau contenant arr et excluant un ou plusieurs éléments de tableau
1static Array util.intersection(...arrs);
Paramètres d'appel :
- arrs: ..., spécifiez un ou plusieurs tableaux pour le calcul de 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 n'importe quel nombre de niveaux) en un tableau avec un seul niveau. Si vous passez le paramètre superficiel, le tableau ne réduira que l'imbrication unidimensionnelle.
1
2static Array util.flatten(Value arr,
Boolean shallow = false);
Paramètres d'appel :
- arr: Valeur, spécifiez le tableau à convertir
- shallow : booléen, 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
2static 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 les résultats exclus
difference
Renvoie un tableau qui contient le tableau arr et exclut l'élément sans tableau
1
2static 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 les résultats exclus
each
Parcourez tous les éléments de la liste et affichez chaque élément dans l'ordre avec le parcours. 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
3static Value util.each(Value list,
Function iterator,
Value context = undefined);
Paramètres d'appel :
- list: Valeur, précise 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, Retourne la liste elle-même
map
Grâce à la fonction de transformation (itérateur), chaque valeur de la liste est mappée sur 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
3static 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 seule valeur. 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 : (mémo, élément, index, liste)
1
2
3
4static 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 résolution
- 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
parseArgs
Analyser la chaîne de ligne de commande et renvoyer la liste des paramètres
1static NArray util.parseArgs(String command);
Paramètres d'appel :
- command: String, spécifiez la chaîne de ligne de commande à analyser
Résultat de retour :
- NArray, Renvoie la liste des paramètres analysés
compile
Compiler le script en code binaire
1
2
3static 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 du script à compiler
- mode: Entier, mode compilation, 0 : module, 1 : script, 2 : worker, la valeur par défaut est 0
Résultat de retour :
- Buffer, Renvoie le code binaire compilé
util.compileLe script peut être compilé dans un bloc de données en cours d'exécution interne v8 (code d'exécution non machine). Une fois le code compilé enregistré en tant que *.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 à l'envers, et le programme qui dépend de Function.toString ne s'exécutera pas normalement.
sync
Enveloppez le rappel ou la fonction async en tant qu'appel synchrone
1
2static Function util.sync(Function func,
Boolean async_func = false);
Paramètres d'appel :
- func: fonction, étant donné la fonction qui doit être encapsulée
- async_func: Booléen, spécifiez de traiter func comme fonction asynchrone, s'il est faux, il sera jugé automatiquement
Résultat de retour :
- Function, Renvoie la fonction qui s'exécute de manière synchrone
util.sync Traitez la fonction de rappel ou la fonction async comme une fonction de synchronisation pour un appel facile.
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 asynchrone 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 async, 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));
promisify
Enveloppez la fonction de rappel en tant qu'appel asynchrone
1static Function util.promisify(Function func);
Paramètres d'appel :
- func: fonction, étant donné la fonction qui doit être encapsulée
Résultat de retour :
- Function, Renvoie la fonction asynchrone
util.promisify Traitez la fonction de rappel comme une fonction asynchrone pour un appel facile.
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.promisify(cb_test);
console.log(async fn_sync(100, 200));
callbackify
Enveloppez la fonction async en tant qu'appel de rappel
1static Function util.callbackify(Function func);
Paramètres d'appel :
- func: fonction, étant donné la fonction qui doit être encapsulée
Résultat de retour :
- Function, Fonction de rappel de retour
util.callbackify Traitez la fonction async comme une fonction de rappel pour un appel facile.
L'exemple asynchrone est le suivant :
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
Interroger les informations sur la version actuelle du moteur et du composant
1static Object util.buildInfo();
Résultat de retour :
- Object, Renvoie l'objet 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"
}
}