Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

154
Views
js: obtener la columna de la matriz de objetos

Necesito su ayuda para sacar datos de una base de datos. Uso sql.js y db.exec entrega un objeto res:

 const res = db.exec('select time_,temp from sensors where topic=\"/xx/sensors\" limit 10')

res se ve así:

 Array [ {…} ]​ 0: Object { columns: (2) […], values: (10) […] }​​ columns: Array [ "time_", "temp" ]​​​ 0: "time_"​​​ 1: "temp"​​​ length: 2​​​​​ values: Array(10) [ (2) […], (2) […], (2) […], … ]​​​ 0: Array [ "23:53:01", 19.51 ]​​​ 1: Array [ "23:55:01", 19.51 ]​​​ 2: Array [ "23:57:01", 19.5 ]​​​ 3: Array [ "23:59:01", 19.48 ]​​​ 4: Array [ "00:05:04", 19.47 ]​​​ 5: Array [ "00:07:04", 19.45 ]​​​ 6: Array [ "00:09:04", 19.43 ]​​​ 7: Array [ "00:11:04", 19.43 ]​​​ 8: Array [ "00:13:04", 19.36 ]​​​ 9: Array [ "00:15:04", 19.38 ]​​​ length: 10​​​

res es un objeto con matrices que tiene columnas. ¿Cómo puedo obtener el time_ para verse así:

 const labels = ['00:13:04', '00:15:04', ...];

y la temperatura en este formato:

 data = [19.36, 19.38, ...];

¿Podrías ayudarme? Saludos

about 4 years ago · Juan Pablo Isaza
2 answers
Answer question

0

Ejemplo, res es como sigue:

 let res = [['1', 1], ['2', 2]]

Entonces, sus valores requeridos serían:

 let labels = res.map(arr => arr[0]); let data = res.map(arr => arr[1]);
about 4 years ago · Juan Pablo Isaza Report

0

Su resultado es una matriz con un solo objeto que a su vez tiene dos columns de propiedades y values . Parece que desea asignar la matriz de values de este objeto a dos matrices individuales por índice, por lo que deberá acceder a esa propiedad de manera adecuada antes de la asignación:

 const res = [{ columns: [], values: [] }]; const values = res[0].values; // or with destructuring const [{ values }] = res;

Luego puede .map() sobre esta matriz dos veces

 const res = [ { columns: ['time_', 'temp'], values: [['23:53:01', 19.51], ['23:55:01', 19.51], ['23:57:01', 19.5], ['23:59:01', 19.48], ['00:05:04', 19.47], ['00:07:04', 19.45], ['00:09:04', 19.43], ['00:11:04', 19.43], ['00:13:04', 19.36], ['00:15:04', 19.38],], }, ]; const values = res[0].values; const labels = values.map((arr) => arr[0]); const data = values.map((arr) => arr[1]); console.log('labels: ', labels); console.log('data: ', data);

o use un solo paso en un ciclo for (aquí usando for...of y desestructurando cada tupla)

 const res = [ { columns: ['time_', 'temp'], values: [['23:53:01', 19.51], ['23:55:01', 19.51], ['23:57:01', 19.5], ['23:59:01', 19.48], ['00:05:04', 19.47], ['00:07:04', 19.45], ['00:09:04', 19.43], ['00:11:04', 19.43], ['00:13:04', 19.36], ['00:15:04', 19.38],], }, ]; const labels = []; const data = []; for (const [label, datum] of res[0].values) { labels.push(label); data.push(datum); } console.log('labels: ', labels); console.log('data: ', data);

about 4 years ago · Juan Pablo Isaza Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!