JSFiddle - React, Tailwind, and code Playground
by Kevin Faulhaber
HTML
<button id="start">Start</button>
JavaScript
var half_a_million = [];
/*
(x1,y1)
+---+ (x2, y1)
| |
| |
| |
+---+ (x2, y2)
(x1, y2)
*/
var rect = {
x1: 100000,
y1: 100000,
y2: 300000,
x2: 300000
};
var j = 500000;
for (var i = 0; i < 500000; i++) {
half_a_million.push({
a: i,
b: j,
c: 'test ' + i + ' ' + j
});
j -= 1;
}
var start;
var end;
function find(rect, list) {
var d = new Date()
var count = 0;
start = d.getTime();
for (var i = 0; i < half_a_million.length; i++) {
if (half_a_million[i].a >= rect.x1 && half_a_million[i].a <= rect.x2 && half_a_million[i].b >= rect.y1 && half_a_million[i].b <= rect.y2) {
//console.log(half_a_million[i].c + ' is a solution.');
count += 1;
}
}
var d2 = new Date();
end = d2.getTime() - start;
alert('Solutions found: ' + count + ' time it took: ' + end + ' milliseconds');
}
var start = document.getElementById('start');
start.onclick = function () {
find(rect, half_a_million);
};