# Get data from an array of objects

**URL:** <https://discourse.nodered.org/t/get-data-from-an-array-of-objects/29619>\
**Category:** General\
**Created:** [6 July 2020 19:39 UTC](https://discourse.nodered.org/t/get-data-from-an-array-of-objects/29619 "2020-07-06T19:39:25Z")\
**Posts on this page:** 4\
**Page:** 2

<div class="post-metadata">

**Author:** ![shrickus](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/shrickus/32/517_2.png) [@shrickus](https://discourse.nodered.org/u/shrickus)\
**Post date:** [8 July 2020 12:17 UTC](https://discourse.nodered.org/t/get-data-from-an-array-of-objects/29619/21 "2020-07-08T12:17:11Z")

</div>

Normally I'd reply with a bit of Jsonata that results in the same output... but lately I've been converting my code to a more "functional" style, to minimize looping and global function variables...

So if you will allow me try my hand at some javascript using array mappings instead:

```auto
// Extract rain data from API
let rain = msg.payload.map( data => {
    return {
        x: data.observation_time.value,
        y: data.precipitation.value.toFixed(1)
    };
});

// Extract temperature data from API
let temp = msg.payload.map( data => {
    return {
        x: data.observation_time.value,
        y: data.temp.value.toFixed(1)
    };
});
    
//Build chart Structure
msg.payload = [
    {
        series: ["Rain", "Temp"],
        data: [rain, temp]
    }
];
     
return msg;

```

---

<div class="post-metadata">

**Author:** ![Paul-Reed](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/paul-reed/32/66906_2.png) [@Paul-Reed](https://discourse.nodered.org/u/Paul-Reed)\
**Post date:** [10 July 2020 15:09 UTC](https://discourse.nodered.org/t/get-data-from-an-array-of-objects/29619/22 "2020-07-10T15:09:57Z")

</div>

The rain arrived 4 minutes early!!  
Still not bad as Climacell predicted this on the chart at lunchtime today.

![rain](https://us1.discourse-cdn.com/flex026/uploads/nodered/original/3X/6/0/603a1652cd8aee58d1044696e7822bb0b159b7a2.jpeg)

 ![rain2](https://us1.discourse-cdn.com/flex026/uploads/nodered/original/3X/7/2/72d58a530a836173701d9b008ee3db96b8d11cad.jpeg)

---

<div class="post-metadata">

**Author:** ![ghayne](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/ghayne/32/39_2.png) [@ghayne](https://discourse.nodered.org/u/ghayne)\
**Post date:** [10 July 2020 17:30 UTC](https://discourse.nodered.org/t/get-data-from-an-array-of-objects/29619/23 "2020-07-10T17:30:45Z")

</div>

> [@Paul-Reed](#):
>
> The rain arrived 4 minutes early!!

Add an offset? 🙂

---

<div class="post-metadata">

**Author:** ![Paul-Reed](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/paul-reed/32/66906_2.png) [@Paul-Reed](https://discourse.nodered.org/u/Paul-Reed)\
**Post date:** [24 July 2020 17:34 UTC](https://discourse.nodered.org/t/get-data-from-an-array-of-objects/29619/24 "2020-07-24T17:34:08Z")

</div>

Closed on 24 July 2020 17:34 UTC

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

[Previous page](https://discourse.nodered.org/t/get-data-from-an-array-of-objects/29619.md?page=1)
