1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
|
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
</head>
<body>
<div id="result"></div>
</body>
<script>
function intersect(arr1, arr2) {
var result = arr1.filter(function(n) { return arr2.indexOf(n) !== -1; });
return result;
}
var a = []
var b = []
var k = []
var l = []
var m = []
var minitems = 75
var maxitems = 150;
var maxnumber = 500;
/* ---
var a = [2, 4, 6, 8, 10, 12, 14];
var b = [3, 6, 9, 12, 15];
console.log( intersect(a,b) ); --- */
start = new Date();
for(j=0 ; j < 10000; j++) {
a = [];
b = [];
for (i=0 ; i< (Math.floor(Math.random() * (maxitems-minitems)) + minitems) ; i++ ) {
x = Math.floor(Math.random() * maxnumber+1);
if (!a.includes(x))
a.push(x);
}
for (i=0 ; i< (Math.floor(Math.random() * (maxitems-minitems)) + minitems) ; i++ ) {
x = Math.floor(Math.random() * maxnumber+1);
if (!b.includes(x))
b.push(x);
}
// m = intersect(a, b);
m = a.filter(value => b.includes(value));
}
console.log(m);
end = new Date();
console.log(start, end, end-start);
document.getElementById("result").innerHTML = (end-start) +"ms";
</script>
</html>
|