Switch case en action
voici le test pour rechercher dans un string les caractère < ou >
module
- switch (string.charCodeAt(index)) {
- case 60: // <
- escape = '<';
- break;
- case 62: // >
- escape = '>';
- break;
- default:
- continue;
- }
module
ES6
- // List of the characters to escape
- const chars = {
- ">": ">",
- "<": "<",
- };
- // RegExp from the `chars` object
- const re = new RegExp(Object.keys(chars).join("|"), "g");
- // Return the escaped string
- const escapeHtml = (str = "") => String(str).replace(re, match => chars[match]);
- console.dir( escapeHtml('<div>'));
VS et module pour node
J'aimerais utiliser The lodash method _.partition exported as a Node.js module.
Ainsi, ouvrez un terminal et comme l'indique la documentation tapez
npm i --save lodash.partition puis tapez Entrée (return).
on peut ensuite ajouter, en début de fichier, le module
let partition = require('lodash.partition');
code
let partition = require('lodash.partition');
let users = [
{ 'user': 'barney', 'age': 36, 'active': false },
{ 'user': 'fred', 'age': 40, 'active': true },
{ 'user': 'pebbles', 'age': 1, 'active': false }
];
let u = partition(users, function (o) { return o.active; });
console.dir(u);
$ node app.js (le nom de votre fichier)
[ [ { user: 'fred', age: 40, active: true } ],
[ { user: 'barney', age: 36, active: false },
{ user: 'pebbles', age: 1, active: false } ] ]
<script src="https://cdn.jsdelivr.net/lodash/4/lodash.min.js"></script>
let arr = [8, null, 32, 'foo', NaN, 'bar', false, {}, 64, 128];
let parts = _.partition(arr, (el) => {
return typeof el === 'number' && !_.isNaN(el);
});
console.log(parts[0]); // [8, 32, 64, 128]
Intégration dans un fichier
<script src="https://cdn.jsdelivr.net/lodash/4/lodash.min.js"></script>
let arr = [8, null, 32, 'foo', NaN, 'bar', false, {}, 64, 128];
let parts = _.partition(arr, (el) => {
return typeof el === 'number' && !_.isNaN(el);
});
console.log(parts[0]); // [8, 32, 64, 128]
Reduce for ever
Nous allons tenter de comparer l’efficacité de différents code pour l'obtention des valeurs Min, Max et la somme des nombre d'un tableau.
Nous commençons par définir un immense tableau data de 50000 objets.
Reduce
Nous pouvons réduire le tableau à un objet contenant les valeurs :
Nous commençons par définir un immense tableau data de 50000 objets.
Nous pouvons réduire le tableau à un objet contenant les valeurs :
- console.time("reduce");
- let {min, max, sum} = data.reduce(function( {max, min, sum}, {x}) {
- min = Math.min(min,x);
- max = Math.max(max,x);
- sum = sum + x;
- return { min, max, sum}
- },
- {min : Number.MAX_VALUE,
- max : Number.MIN_VALUE,
- sum : 0
- });
- console.timeEnd("reduce");
- console.log( min, max, sum );
Autre
- console.time("map");
- const mapData = data.map(i => i.x);
- const maxData = Math.max(...mapData);
- const minData = Math.min(...mapData);
- for (let i = 0, sum = 0; i < data.length; sum += data[i++]);
- console.timeEnd("map");
- console.log(minData,maxData,sum);
Résultats de la comparaison
$ node comparaisonMin.js
reduce: 12.563ms
15 999996 24956286473
map: 24.679ms
15 999996 24956286473
$ node comparaisonMin.js
reduce: 16.015ms
5 999997 25029524292
map: 26.572ms
5 999997 25029524292
Inscription à :
Articles (Atom)