Quiero devolver una matriz con valores específicos de _time y _value. La función que hice es la siguiente:
getMachineData(data) { console.log(data) const result = data.map((innerArray) => { console.log(typeof innerArray) console.log(innerArray) // Map over the inner array return innerArray.map((item) => { console.log(item) return ({ time: item._time, value: item._value }); }); }); console.log(result); };Pero en este código nunca se toca el último archivo console.log.
Los datos de innerArray son los siguientes:
{ "result": "_result", "table": 0, "_start": "2021-01-06T14:35:53Z", "_stop": "2022-01-06T14:35:53Z", "_time": "2021-10-11T10:58:30Z", "_value": 0, "_field": "approved", "_measurement": "oee-data", "end_time_str": "2021-10-11T10:59:00Z", "machine": "almo", "start_time_str": "2021-10-11T10:58:30Z" }La salida:
Su matriz interna no es una matriz sino un objeto. No puede mapear sobre un objeto como innerArray.map... lo que probablemente generará un error.
innerArray es un Object , por lo que no tiene que iterar. Simplemente acceda al valor directamente. Reemplace el código a continuación
return innerArray.map((item) => { console.log(item) return ({ time: item._time, value: item._value }); });con
return { time: innerArray._time, value: innerArray._value };El código optimizado se verá como
getMachineData(data) { const result = data.map(({_time, _value}) => ({time: _time, value:_value })); console.log(result); };