0

I do an InfluxDB query and get exact one result row like this:

{"result":[[{"result":"_result","table":0,"_start":"2022-01-28T09:00:12.676771291Z","_stop":"2022-01-29T09:00:12.676771291Z","_measurement":"Strom.Heizung.Energie_in_der_letzten_Stunde","_value":14.683000000000117,"_time":"2022-01-29T09:00:12.676771291Z","ts":1643446812676}]],"ts":1643446812684,"error":null}

I need the value of the _value key in a variable e.g. value. In this example the 14.683000000000117

I tried it with the map-function:

value = query.result[0].map(elm => (elm._value));

but I get the value in brackets like [14.683000000000117]

How can I get the number in my value variable?

Thanks

Frank

frank2604
  • 15
  • 3
  • 1
    `query.result[0][0]._value` map returns an array, so of cource its in brackets – Luca Kiebel Jan 29 '22 at 13:01
  • `Array.prototype.map` **always** returns an array. If you don't want an array, don't use `map`. For instance, if you just want the first `_value` in the *first* array in `result`, then `query.result[0][0]._value` would give you that. – T.J. Crowder Jan 29 '22 at 13:04

1 Answers1

0

map() returns an array, even if it's an array of length 1. So, you want to retrieve the first element of the array it returns. You can achieve that by appending [0] at the end:

value = query.result[0].map(elm => (elm._value))[0];

Learn more on accessing array elements here, in the "Accessing Array Elements" section: https://www.w3schools.com/js/js_arrays.asp

TheMrAngel
  • 76
  • 4