String Search TEW

Benchmark created on


Setup

var data = [];
    
    for (var i = 0; i < 10000; i++) {
    data.push({Name: 'Name' + i, Phone: i.toString()});
    }

Test runner

Ready to run.

Testing in
TestOps/sec
for-loop
var searchString = '876';
var results = [];
for (var i = 0; i < data.length; i++) {
if (data[i].Name.indexOf(searchString) !== -1 || data[i].Phone.indexOf(searchString) !== -1)
results.push(data[i]);
}
ready
regex
var searchString = '876';
var results = [];

var jsonStr = JSON.stringify(data);

var re = new RegExp('({"Name":"Name' + searchString + '")|("Phone":"' + searchString + '"})');

var execResult = re.exec(JSON.stringify(data));

if (execResult)
    results.push(execResult['index']);
 
ready

Revisions

You can edit these tests or add more tests to this page by appending /edit to the URL.