Skip to content

difference

Subhajit Sahu edited this page Jun 15, 2020 · 28 revisions

Gives values not present in another iterable. 🏃 📼 📦 🌔 📒

Similar: union, intersection, difference, symmetricDifference.

iterable.difference(x, y, [fc], [fm]);
// x:  an iterable
// y:  another iterable
// fc: compare function (a, b)
// fm: map function (v, i, x)

⏱️ Compare function => O(n²).

const iterable = require('extra-iterable');

var x = [1, 2, 3, 4, 5];
var y = [2, 4];
[...iterable.difference(x, y)];
// [ 1, 3, 5 ]

var y = [-2, -4];
[...iterable.difference(x, y)];
// [ 1, 2, 3, 4, 5 ]

[...iterable.difference(x, y, (a, b) => Math.abs(a) - Math.abs(b))];
// [ 1, 3, 5 ]

[...iterable.difference(x, y, null, v => Math.abs(v))];
// [ 1, 3, 5 ]

references

Clone this wiki locally