JSFiddle - React, Tailwind, and code Playground
HTML
<div id="normalTime"></div>
<div id="fastTime"></div>
JavaScript
function filterFast(data, ids) {
var index = ids.reduce(function(a,b) {a[b] = 1; return a;}, {});
return data.filter(function(item) {
return index[item.id] === 1;
});
}
function filterNormal(data, ids) {
return data.filter(function(item) {
return ids.indexOf(item.id) !== -1;
});
}
var b = [
{ id:1, name: 'Pedro'},
{ id:2, name: 'Miko'},
{ id:3, name: 'Bear'},
{ id:4, name: 'Teddy'},
{ id:5, name: 'Mouse'}
];
for (var i=0;i<11;i++) {
b = b.concat(b);
}
var c = [];
for (var i=100000;i>4;i--) {
c.push(i);
}
var normalTime = new Date().getTime();
var resultNormal = filterNormal(b,c);
normalTime = new Date().getTime() - normalTime;
document.getElementById("normalTime").innerHTML = "Normal time: " + JSON.stringify(normalTime);
var fastTime = new Date().getTime();
var resultFast = filterFast(b,c);
fastTime = new Date().getTime() - fastTime;
document.getElementById("fastTime").innerHTML = "Fast time: " + JSON.stringify(fastTime);