Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save WooodHead/ef4aa94e2e94a4996fa6fcc5f13ae2a6 to your computer and use it in GitHub Desktop.
Save WooodHead/ef4aa94e2e94a4996fa6fcc5f13ae2a6 to your computer and use it in GitHub Desktop.
Circular JSON Stringify
function circularJSONStringify(obj) {
const cache = [];
const result = JSON.stringify(obj, (key, value) => {
if (typeof value === 'object' && value !== null) {
if (cache.indexOf(value) !== -1) {
// Circular reference found, discard key
return;
}
// Store value in our collection
cache.push(value);
}
return value;
});
cache.length = 0;
return result;
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment