HTTP/2 302
x-cloud-trace-context: ac9517ce6fc1e229fa8d0fac600029d4
location: /en-US/docs/Web/JavaScript/Reference/Global_Objects/Set/difference
via: 1.1 google, 1.1 varnish, 1.1 varnish, 1.1 varnish, 1.1 varnish
accept-ranges: bytes
cache-control: no-store
server: Google Frontend
content-type: text/plain; charset=utf-8
date: Sun, 28 Dec 2025 10:20:02 GMT
x-served-by: cache-bfi-krnt7300104-BFI, cache-bfi-krnt7300061-BFI, cache-sin-wsss1830083-SIN, cache-bom-vanm7210033-BOM
x-cache: MISS, MISS, MISS, MISS
x-cache-hits: 0, 0, 0, 0
x-timer: S1766917203.548848,VS0,VE306
vary: Accept
content-length: 88
HTTP/2 200
x-content-type-options: nosniff
cache-control: public, max-age=3600
via: 1.1 google, 1.1 varnish, 1.1 varnish, 1.1 varnish, 1.1 varnish
x-cloud-trace-context: ef6e5b19d55319e96037cb37f0862c35
server: Google Frontend
last-modified: Sun, 28 Dec 2025 01:10:32 GMT
referrer-policy: strict-origin-when-cross-origin
origin-trial: AxVILwizhbMjxFeHOn1P3R8niO1RJY/smaK4B4d1rLzc1gTaxtXMSaTi+FoigYgCw40uFRDwFcEAeqDR+vVLOW4AAABfeyJvcmlnaW4iOiJodHRwczovL2RldmVsb3Blci5tb3ppbGxhLm9yZyIsImZlYXR1cmUiOiJQcml2YXRlQXR0cmlidXRpb25WMiIsImV4cGlyeSI6MTc0MjA3OTYwMH0=
content-type: text/html
etag: "8eb21734ad016913fc4889aafdf252ca"
strict-transport-security: max-age=63072000
expires: Sun, 28 Dec 2025 09:39:11 GMT
x-goog-meta-goog-reserved-file-mtime: 1766883288
x-goog-storage-class: STANDARD
x-frame-options: DENY
x-goog-metageneration: 1
x-goog-hash: crc32c=nNCb/A==, md5=jrIXNK0BaRP8SImq/fJSyg==
x-guploader-uploadid: AHVrFxOBnDMJHx3J4ynhyyXbihGcp359kDrTWbinJpdE9qgiwMPzcGA7Wg1ILWFWHVKoeN1j
x-goog-stored-content-encoding: identity
content-security-policy: default-src 'self'; script-src 'report-sample' 'self' 'wasm-unsafe-eval' https://www.google-analytics.com/analytics.js https://*.googletagmanager.com assets.codepen.io production-assets.codepen.io https://js.stripe.com 'sha256-XNBp89FG76amD8BqrJzyflxOF9PaWPqPqvJfKZPCv7M=' 'sha256-YCNoU9DNiinACbd8n6UPyB/8vj0kXvhkOni9/06SuYw=' 'sha256-PZjP7OR6mBEtnvXIZfCZ5PuOlxoDF1LDZL8aj8c42rw='; script-src-elem 'report-sample' 'self' 'wasm-unsafe-eval' https://www.google-analytics.com/analytics.js https://*.googletagmanager.com assets.codepen.io production-assets.codepen.io https://js.stripe.com 'sha256-XNBp89FG76amD8BqrJzyflxOF9PaWPqPqvJfKZPCv7M=' 'sha256-YCNoU9DNiinACbd8n6UPyB/8vj0kXvhkOni9/06SuYw=' 'sha256-PZjP7OR6mBEtnvXIZfCZ5PuOlxoDF1LDZL8aj8c42rw='; style-src 'report-sample' 'self' 'unsafe-inline'; object-src 'none'; base-uri 'self'; connect-src 'self' developer.allizom.org bcd.developer.allizom.org bcd.developer.mozilla.org updates.developer.allizom.org updates.developer.mozilla.org https://*.google-analytics.com https://*.analytics.google.com https://*.googletagmanager.com https://incoming.telemetry.mozilla.org https://observatory-api.mdn.allizom.net https://observatory-api.mdn.mozilla.net https://api.github.com/search/issues stats.g.doubleclick.net https://api.stripe.com; font-src 'self'; frame-src 'self' mdn.github.io *.mdnplay.dev *.mdnyalp.dev *.play.test.mdn.allizom.net https://v2.scrimba.com https://scrimba.com jsfiddle.net www.youtube-nocookie.com codepen.io survey.alchemer.com https://js.stripe.com; img-src 'self' data: *.githubusercontent.com *.googleusercontent.com *.gravatar.com mozillausercontent.com firefoxusercontent.com profile.stage.mozaws.net profile.accounts.firefox.com developer.mozilla.org mdn.dev wikipedia.org upload.wikimedia.org https://mdn.github.io/shared-assets/ https://mdn.dev/ https://*.google-analytics.com https://*.googletagmanager.com www.gstatic.com; manifest-src 'self'; media-src 'self' archive.org videos.cdn.mozilla.net https://mdn.github.io/shared-assets/; child-src 'self'; worker-src 'self';
x-goog-generation: 1766884232524315
x-goog-stored-content-length: 151434
content-encoding: gzip
accept-ranges: bytes
age: 0
date: Sun, 28 Dec 2025 10:20:03 GMT
x-served-by: cache-bfi-kbfi7400106-BFI, cache-bfi-kbfi7400042-BFI, cache-sin-wsat1880066-SIN, cache-bom-vanm7210033-BOM
x-cache: MISS, HIT, MISS, MISS
x-cache-hits: 0, 0, 0, 0
x-timer: S1766917203.868348,VS0,VE340
vary: Accept-Encoding
content-length: 20390
Set.prototype.difference() - JavaScript | MDN
other
A Set object, or set-like object.
A new Set object containing elements in this set but not in the other set.
In mathematical notation, difference is defined as:
A ∖ B = { x ∊ A ∣ x ∉ B } A\setminus B = \{x\in A\mid x\notin B\}
And using Venn diagram:
difference() accepts set-like objects as the other parameter. It requires this to be an actual Set instance, because it directly retrieves the underlying data stored in this without invoking any user code. Then, its behavior depends on the sizes of this and other:
If there are more elements in this than other.size, then it iterates over other by calling its keys() method, and constructs a new set with all elements in this that are not seen in other.
Otherwise, it iterates over the elements in this, and constructs a new set with all elements e in this that cause other.has(e) to return a falsy value.
The order of elements in the returned set is the same as in this.
The following example computes the difference between the set of odd numbers (<10) and the set of perfect squares (<10). The result is the set of odd numbers that are not perfect squares.
const odds = new Set([1, 3, 5, 7, 9]);
const squares = new Set([1, 4, 9]);
console.log(odds.difference(squares)); // Set(3) { 3, 5, 7 }
Enable JavaScript to view this browser compatibility table.