# Manage an object dynamically

**URL:** <https://discourse.nodered.org/t/manage-an-object-dynamically/99969>\
**Category:** General\
**Created:** [18 December 2025 00:41 UTC](https://discourse.nodered.org/t/manage-an-object-dynamically/99969 "2025-12-18T00:41:28Z")\
**Posts on this page:** 5\
**Page:** 1

<div class="post-metadata">

**Author:** ![GiovanniG](https://avatars.discourse-cdn.com/v4/letter/g/ecd19e/32.png) [@GiovanniG](https://discourse.nodered.org/u/GiovanniG)\
**Post date:** [18 December 2025 00:41 UTC](https://discourse.nodered.org/t/manage-an-object-dynamically/99969/1 "2025-12-18T00:41:28Z")

</div>

Hi, let's consider to have 8 messages to output from a function, they are all initally set with payload:false  
Now I want that one of 8, depending on the msg.topic input is turning to null, how to?

```auto
let msg1,msg2,msg3,msg4,msg5,msg6,msg7,msg8;
msg1 = msg2 = msg3 = msg4 = msg5 = msg6 = msg7 = msg8 = { payload: false };
let index=msg.topic;
msg[index]=null;
return [msg1, msg2, msg3, msg4, msg5, msg6, msg7, msg8];

```

Thi is acceptable but return NodeJS under windows to go high CPU and NR freezing, then I need to kill it

---

<div class="post-metadata">

**Author:** ![jbudd](https://avatars.discourse-cdn.com/v4/letter/j/5f8ce5/32.png) [@jbudd](https://discourse.nodered.org/u/jbudd)\
**Post date:** [18 December 2025 01:04 UTC](https://discourse.nodered.org/t/manage-an-object-dynamically/99969/2 "2025-12-18T01:04:56Z")

</div>

If msg.topic is an integer, use a single message which has an array:  
let myarray = [false, false, false, false ...]  
myarray[msg.topic] = null  
msg.payload = myarray  
return msg

Or if it's a string, an object  
let myobject = {"topic1": false, "topic2": false, ... }  
myobject[msg.topic] = null  
msg.payload = myobject  
return msg

---

<div class="post-metadata">

**Author:** ![E1cid](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/e1cid/32/77971_2.png) [@E1cid](https://discourse.nodered.org/u/E1cid)\
**Post date:** [18 December 2025 13:46 UTC](https://discourse.nodered.org/t/manage-an-object-dynamically/99969/3 "2025-12-18T13:46:15Z")

</div>

```auto
let output = [{ payload: false },{ payload: false },{ payload: false },{ payload: false },{ payload: false }{ payload: false },{ payload: false }];
let index = msg.topic;
output[index] = null;
return output;

```

something like this is cleaner  
You may want to check topic is a number between 0 and 7 also, before setting output[index]

---

<div class="post-metadata">

**Author:** ![GiovanniG](https://avatars.discourse-cdn.com/v4/letter/g/ecd19e/32.png) [@GiovanniG](https://discourse.nodered.org/u/GiovanniG)\
**Post date:** [19 December 2025 17:52 UTC](https://discourse.nodered.org/t/manage-an-object-dynamically/99969/4 "2025-12-19T17:52:21Z")

</div>

thank you for replying, the idea was good but not well written, you did 🙂  
So thank you both!!

---

<div class="post-metadata">

**Author:** ![system](https://us1.discourse-cdn.com/flex026/uploads/nodered/original/1X/d073cd938eafa2e558d7c2cd59003b3ef4963033.png) [@system](https://discourse.nodered.org/u/system)\
**Post date:** [2 January 2026 17:52 UTC](https://discourse.nodered.org/t/manage-an-object-dynamically/99969/5 "2026-01-02T17:52:29Z")

</div>

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