Test name | Executions per second |
---|---|
Filter | 9128153.0 Ops/sec |
For loop | 8873852.0 Ops/sec |
Set | 1140317.9 Ops/sec |
Reduce | 9317900.0 Ops/sec |
const array1 = [1, 2, 3, 4, 5];
const array2 = [3, 4, 5, 6, 7];
const difference =
array1.filter((element) => !array2.includes(element));
const array1 = [1, 2, 3, 4, 5];
const array2 = [3, 4, 5, 6, 7];
const difference = [];
for (let i = 0; i < array1.length; i++) {
if (array2.indexOf(array1[i]) === -1) {
difference.push(array1[i]);
}
}
const array1 = [1, 2, 3, 4, 5];
const array2 = [3, 4, 5, 6, 7];
const set1 = new Set(array1);
const set2 = new Set(array2);
const difference = [set1].filter(
(element) => !set2.has(element));
const array1 = [1, 2, 3, 4, 5];
const array2 = [3, 4, 5, 6, 7];
const difference = array1.reduce((result, element) => {
if (array2.indexOf(element) === -1) {
result.push(element);
}
return result;
}, []);