# How to rebuild array

**URL:** <https://discourse.nodered.org/t/how-to-rebuild-array/73556>\
**Category:** General\
**Tags:** http-request\
**Created:** [11 January 2023 19:17 UTC](https://discourse.nodered.org/t/how-to-rebuild-array/73556 "2023-01-11T19:17:49Z")\
**Posts on this page:** 9\
**Page:** 1

<div class="post-metadata">

**Author:** ![ritech](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/ritech/32/74188_2.png) [@ritech](https://discourse.nodered.org/u/ritech)\
**Post date:** [11 January 2023 19:17 UTC](https://discourse.nodered.org/t/how-to-rebuild-array/73556/1 "2023-01-11T19:17:49Z")

</div>

original

```auto
[
    {
        "deviceuid": "704F08017964",
        "zoneNum": 0,
        "historyMusic": {
            "isLocal": false,
            "localPath": "",
            "singerId": "",
            "musicId": "69934500505"
        }
    },
    {
        "deviceuid": "704F08017964",
        "zoneNum": 0,
        "historyMusic": {
            "isLocal": false,
            "localPath": "",
            "singerId": "",
            "musicId": "69010400010"
        }
    }
]

```

 ![old](https://us1.discourse-cdn.com/flex026/uploads/nodered/original/3X/6/3/63890755b5718d2ed50a6f9fa68b61c86acc72bf.png)

rebuild

```auto
{
    "appkey": "wisemobile02",
    "zoneNum": "0",
    "musicIndex": 0,
    "deviceuid": "704F08018888",
    "userAccount": "18012971010",
    "musicInfo": [
        {
            "isLocal": false,
            "localPath": "",
            "singerId": "",
            "musicId": "69934500505"
        },
        {
            "isLocal": false,
            "localPath": "",
            "singerId": "",
            "musicId": "69010400010"
        }
    ]
}

```

 ![rebuild](https://us1.discourse-cdn.com/flex026/uploads/nodered/original/3X/5/7/570067eec620b4b74d5ffc1dd43724578fb4da86.png)

---

<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:** [11 January 2023 20:57 UTC](https://discourse.nodered.org/t/how-to-rebuild-array/73556/2 "2023-01-11T20:57:33Z")

</div>

With no description i would guess

```auto
[{"id":"c828b9168a3f213f","type":"inject","z":"da8a6ef0b3c9a5c8","name":"","props":[{"p":"payload"},{"p":"topic","vt":"str"}],"repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"","payload":"[{\"deviceuid\":\"704F08017964\",\"zoneNum\":0,\"historyMusic\":{\"isLocal\":false,\"localPath\":\"\",\"singerId\":\"\",\"musicId\":\"69934500505\"}},{\"deviceuid\":\"704F08017964\",\"zoneNum\":0,\"historyMusic\":{\"isLocal\":false,\"localPath\":\"\",\"singerId\":\"\",\"musicId\":\"69010400010\"}}]","payloadType":"json","x":250,"y":3100,"wires":[["1fa7f070dcc73066"]]},{"id":"1fa7f070dcc73066","type":"change","z":"da8a6ef0b3c9a5c8","name":"","rules":[{"t":"set","p":"payload","pt":"msg","to":"$$.payload{\t \"appkey\": \"wisemobile02\",\t \"zoneNum\": $distinct(zoneNum),\t \"musicIndex\": 0,\t \"deviceuid\": $distinct(deviceuid),\t \"userAccount\": \"18012971010\",\t \"musicInfo\": historyMusic[]\t }\t","tot":"jsonata"}],"action":"","property":"","from":"","to":"","reg":false,"x":420,"y":3080,"wires":[["a81d87f562b74deb"]]},{"id":"a81d87f562b74deb","type":"debug","z":"da8a6ef0b3c9a5c8","name":"debug 225","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"true","targetType":"full","statusVal":"","statusType":"auto","x":650,"y":3120,"wires":[]}]

```

---

<div class="post-metadata">

**Author:** ![TotallyInformation](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/totallyinformation/32/31_2.png) [@TotallyInformation](https://discourse.nodered.org/u/TotallyInformation)\
**Post date:** [11 January 2023 23:46 UTC](https://discourse.nodered.org/t/how-to-rebuild-array/73556/3 "2023-01-11T23:46:04Z")

</div>

In order to make code readable and usable it is necessary to surround your code with three backticks (also known as a left quote or backquote `````)

````auto
``` 
   code goes here 
```

````

You can edit and correct your post by clicking the pencil ✏ icon.

See this post for more details - [How to share code or flow json](https://discourse.nodered.org/t/how-to-share-code-or-flow-json/506)

---

<div class="post-metadata">

**Author:** ![ritech](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/ritech/32/74188_2.png) [@ritech](https://discourse.nodered.org/u/ritech)\
**Post date:** [12 January 2023 02:17 UTC](https://discourse.nodered.org/t/how-to-rebuild-array/73556/4 "2023-01-12T02:17:18Z")

</div>

tks , i edit my post , code looks correct now

---

<div class="post-metadata">

**Author:** ![ritech](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/ritech/32/74188_2.png) [@ritech](https://discourse.nodered.org/u/ritech)\
**Post date:** [12 January 2023 05:47 UTC](https://discourse.nodered.org/t/how-to-rebuild-array/73556/5 "2023-01-12T05:47:17Z")

</div>

```auto
var array = [""];// list of names
var hold_obj = {};// `temp object
array.forEach((v, i) => hold_obj[v] = msg.payload.data[i].historyMusic) //loop through names and add to object

msg.payload = hold_obj; // move back to payload
var musicinfo = hold_obj

msg.payload = {
    "appkey": "wisemobile02", "zoneNum": "0", "musicIndex": 0, "deviceuid": "704F08018888", "userAccount": "18012971010", musicinfo
}
return msg;

```

I tried to write the rebuild code, but the array can only display the first one, and the latter ones disappear

---

<div class="post-metadata">

**Author:** ![bakman2](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/bakman2/32/6207_2.png) [@bakman2](https://discourse.nodered.org/u/bakman2)\
**Post date:** [12 January 2023 06:51 UTC](https://discourse.nodered.org/t/how-to-rebuild-array/73556/6 "2023-01-12T06:51:28Z")

</div>

> [@ritech](#):
>
> `msg.payload = hold_obj; // move back to payload`  
> ...  
> `msg.payload = {`

`msg.payload = hold_obj` will be overwritten by the second `msg.payload` and musicinfo is only a reference to it (not an actual new object/array)

---

<div class="post-metadata">

**Author:** ![ritech](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/ritech/32/74188_2.png) [@ritech](https://discourse.nodered.org/u/ritech)\
**Post date:** [12 January 2023 08:01 UTC](https://discourse.nodered.org/t/how-to-rebuild-array/73556/7 "2023-01-12T08:01:19Z")

</div>

ic. how to create array ?

---

<div class="post-metadata">

**Author:** ![TotallyInformation](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/totallyinformation/32/31_2.png) [@TotallyInformation](https://discourse.nodered.org/u/TotallyInformation)\
**Post date:** [12 January 2023 09:26 UTC](https://discourse.nodered.org/t/how-to-rebuild-array/73556/8 "2023-01-12T09:26:04Z")

</div>

Lots of ways to merge arrays. Have a search for "javascript merge arrays".

Or, if you were adding 1 entry at a time, you would use sometihng like:

```auto
msg.payload = []
msg.payload.push('another-one')

```

---

<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:** [13 March 2023 09:26 UTC](https://discourse.nodered.org/t/how-to-rebuild-array/73556/9 "2023-03-13T09:26:29Z")

</div>

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