# Node red table formatting with condition

**URL:** <https://discourse.nodered.org/t/node-red-table-formatting-with-condition/32879>\
**Category:** General\
**Created:** [14 September 2020 14:40 UTC](https://discourse.nodered.org/t/node-red-table-formatting-with-condition/32879 "2020-09-14T14:40:14Z")\
**Posts on this page:** 5\
**Page:** 1

<div class="post-metadata">

**Author:** ![apex](https://avatars.discourse-cdn.com/v4/letter/a/e56c9b/32.png) [@apex](https://discourse.nodered.org/u/apex)\
**Post date:** [14 September 2020 14:40 UTC](https://discourse.nodered.org/t/node-red-table-formatting-with-condition/32879/1 "2020-09-14T14:40:14Z")

</div>

for the table node

> **[node-red-node-ui-table](https://flows.nodered.org/node/node-red-node-ui-table)**
>
> Table UI widget node for Node-RED Dashboard

the suggested format is

```auto
[
    {
        "Name": "Kazuhito Yokoi",
        "Age": "35",
        "Favourite Color": "red",
        "Date Of Birth": "12/09/1983"
    },
    {
        "Name": "Oli Bob",
        "Age": "12",
        "Favourite Color": "cyan",
        "Date Of Birth": "12/08/2017"
    }
]

```

however,  
if i want to do some condition check or while inside  
like

```auto
for (var i = 0; i<ct; i++)
{

 myJsondata =    
    {
        "a": (msg.payload.data.devices[i].datastreams[0]                
    },
        
    if(((msg.payload["1"].data.devices[i].datastreams[0].value.split(','))[0] == msg.payload["2"][1]["b"]))
    {
        "a": (msg.payload.data.devices[i].datastreams[1]
   }      
}           

```

the above will fail if i put the for loop OR if condition inside the json for table  
can anyone help?

---

<div class="post-metadata">

**Author:** ![dceejay](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/dceejay/32/38_2.png) [@dceejay](https://discourse.nodered.org/u/dceejay)\
**Post date:** [14 September 2020 15:02 UTC](https://discourse.nodered.org/t/node-red-table-formatting-with-condition/32879/2 "2020-09-14T15:02:52Z")

</div>

You need to build an array or data lines... you seem to be creating a single object that isn't in an array.

---

<div class="post-metadata">

**Author:** ![apex](https://avatars.discourse-cdn.com/v4/letter/a/e56c9b/32.png) [@apex](https://discourse.nodered.org/u/apex)\
**Post date:** [15 September 2020 02:33 UTC](https://discourse.nodered.org/t/node-red-table-formatting-with-condition/32879/3 "2020-09-15T02:33:37Z")

</div>

thanks.  
but  
i have two payload for operation check...  
can i do the check in array ?

---

<div class="post-metadata">

**Author:** ![dceejay](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/dceejay/32/38_2.png) [@dceejay](https://discourse.nodered.org/u/dceejay)\
**Post date:** [15 September 2020 07:20 UTC](https://discourse.nodered.org/t/node-red-table-formatting-with-condition/32879/4 "2020-09-15T07:20:43Z")

</div>

Yes, generally you would use push( to add items to an array in a loop.

---

<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:** [14 November 2020 07:20 UTC](https://discourse.nodered.org/t/node-red-table-formatting-with-condition/32879/5 "2020-11-14T07:20:49Z")

</div>

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