# Using standard javascript Set in code node not working

**URL:** <https://community.n8n.io/t/using-standard-javascript-set-in-code-node-not-working/45341>\
**Category:** Questions\
**Tags:** code\
**Created:** [May 1, 2024, 5:20pm UTC](https://community.n8n.io/t/using-standard-javascript-set-in-code-node-not-working/45341 "2024-05-01T17:20:14Z")\
**Posts on this page:** 7\
**Page:** 1

<div class="post-metadata">

**Author:** ![einfachiso](https://dub1.discourse-cdn.com/n8n/user_avatar/community.n8n.io/einfachiso/32/30786_2.png) [@einfachiso](https://community.n8n.io/u/einfachiso)\
**Post date:** [May 1, 2024, 5:20pm UTC](https://community.n8n.io/t/using-standard-javascript-set-in-code-node-not-working/45341/1 "2024-05-01T17:20:14Z")

</div>

Using the javascript standard Set class does not seem to work in code nodes:

This gives an empty result:

 ![](https://europe1.discourse-cdn.com/n8n/original/3X/f/8/f8cdbb845b6df1dcc108752ebebf29f91874500f.png)  
In this fiddle (pure Javascript, no libraries) it is working as expected:

> **[Edit fiddle - JSFiddle - Code Playground](https://jsfiddle.net/ojayqn0f/)**
>
> JSFiddle - Test your JavaScript, CSS, HTML or CoffeeScript online with JSFiddle.

- **n8n version:** 1.38.2
- **Database (default: SQLite):** sqlite
- **n8n EXECUTIONS\_PROCESS setting (default: own, main):**??
- **Running n8n via (Docker, npm, n8n cloud, desktop app):** Docker
- **Operating system:** Ubuntu 22.04

---

<div class="post-metadata">

**Author:** ![n8n](https://dub1.discourse-cdn.com/n8n/user_avatar/community.n8n.io/n8n/32/26906_2.png) [@n8n](https://community.n8n.io/u/n8n)\
**Post date:** [May 1, 2024, 5:20pm UTC](https://community.n8n.io/t/using-standard-javascript-set-in-code-node-not-working/45341/2 "2024-05-01T17:20:17Z")

</div>

It looks like your topic is missing some important information. Could you provide the following if applicable.

- **n8n version:**
- **Database (default: SQLite):**
- **n8n EXECUTIONS\_PROCESS setting (default: own, main):**
- **Running n8n via (Docker, npm, n8n cloud, desktop app):**
- **Operating system:**

---

<div class="post-metadata">

**Author:** ![ihortom](https://dub1.discourse-cdn.com/n8n/user_avatar/community.n8n.io/ihortom/32/11473_2.png) [@ihortom](https://community.n8n.io/u/ihortom)\
**Post date:** [May 2, 2024, 1:48am UTC](https://community.n8n.io/t/using-standard-javascript-set-in-code-node-not-working/45341/3 "2024-05-02T01:48:44Z")

</div>

@einfachiso , try using this instead

Sets do not integrate with JSON, which is expected to be outputted by n8n node.

---

<div class="post-metadata">

**Author:** ![einfachiso](https://dub1.discourse-cdn.com/n8n/user_avatar/community.n8n.io/einfachiso/32/30786_2.png) [@einfachiso](https://community.n8n.io/u/einfachiso)\
**Post date:** [May 2, 2024, 2:15am UTC](https://community.n8n.io/t/using-standard-javascript-set-in-code-node-not-working/45341/4 "2024-05-02T02:15:49Z")

</div>

Thank you for your answer, @ihortom.

It does not work either when I return example.values() however which is an array.

Also when I try to log any content of the Set to console the output is always empty as well.

So apparently adding to a Set does not work in n8n for some reason(?).

---

<div class="post-metadata">

**Author:** ![ihortom](https://dub1.discourse-cdn.com/n8n/user_avatar/community.n8n.io/ihortom/32/11473_2.png) [@ihortom](https://community.n8n.io/u/ihortom)\
**Post date:** [May 2, 2024, 2:29am UTC](https://community.n8n.io/t/using-standard-javascript-set-in-code-node-not-working/45341/5 "2024-05-02T02:29:55Z")

</div>

You still can use sets

This produces the same result as in the output of the 1st workaround. You would have to convert sets to arrays as in `Array.from(set)`.

---

<div class="post-metadata">

**Author:** ![netroy](https://dub1.discourse-cdn.com/n8n/user_avatar/community.n8n.io/netroy/32/22154_2.png) [@netroy](https://community.n8n.io/u/netroy)\
**Post date:** [May 2, 2024, 9:10am UTC](https://community.n8n.io/t/using-standard-javascript-set-in-code-node-not-working/45341/6 "2024-05-02T09:10:22Z")

</div>

Using `Array.from(set)` is definitely a good solution here.  
The underlying issue is that the code node runs JS in a sandbox, and any data that needs to be pulled out of the sandbox has to go through serialization/de-serialization.  
The sandbox (just like `JSON.stringify`) doesn’t know how to serialize Sets and Maps, and converts objects like these to `{}`.

---

<div class="post-metadata">

**Author:** ![system](https://dub1.discourse-cdn.com/n8n/user_avatar/community.n8n.io/system/32/195824_2.png) [@system](https://community.n8n.io/u/system)\
**Post date:** [May 9, 2024, 9:11am UTC](https://community.n8n.io/t/using-standard-javascript-set-in-code-node-not-working/45341/7 "2024-05-09T09:11:11Z")

</div>

This topic was automatically closed 7 days after the last reply. New replies are no longer allowed.
