"use strict"; (function (factory) { if (typeof Benchmark !== "undefined") { factory(Benchmark); } else { factory(require("benchmark")); } })(function (Benchmark) { var suite = new Benchmark.Suite; suite.add("var loop = ['1', '2', '3', '4', '5', '6', '7', '8', '9', '10', '11', '12', '13', '14', '15', '16', '17', '18', '19', '20'];", function () { var loop = ['1', '2', '3', '4', '5', '6', '7', '8', '9', '10', '11', '12', '13', '14', '15', '16', '17', '18', '19', '20']; var subloop = ['16', '2', '6', '12', '20', '14', '10']; loop.filter( n => subloop.map( x => x.toLowerCase() ).includes( n.toLowerCase() ) ); }); suite.add("var loop = ['1', '2', '3', '4', '5', '6', '7', '8', '9', '10', '11', '12', '13', '14', '15', '16', '17', '18', '19', '20'];", function () { var loop = ['1', '2', '3', '4', '5', '6', '7', '8', '9', '10', '11', '12', '13', '14', '15', '16', '17', '18', '19', '20']; var subloop = ['16', '2', '6', '12', '20', '14', '10']; var re = new RegExp( "^(" + subloop.join( '|' ) + ")$", 'i' ); loop.filter( n => !re.test( n ) ); }); suite.on("cycle", function (evt) { console.log(" - " + evt.target); }); suite.on("complete", function (evt) { console.log(new Array(30).join("-")); var results = evt.currentTarget.sort(function (a, b) { return b.hz - a.hz; }); results.forEach(function (item) { console.log((idx + 1) + ". " + item); }); }); console.log("loop the loop #jsbench #jsperf"); console.log(new Array(30).join("-")); suite.run(); });