Tengo esta matriz:
[{"temp":"24.44","time":"2021-11-26 22:23:29.370657"}, {"temp":"25.44","time":"2021-11-26 22:23:35.411530"}]Y necesito esto:
data.addRows([ [24.44, [22, 23, 29]], [25.44, [22, 23, 35]] ]);Es poder hacer un gráfico.
1) Puede hacer uso del map y split para lograr el resultado deseado.
const arr = [ { temp: "24.44", time: "2021-11-26 22:23:29.370657" }, { temp: "25.44", time: "2021-11-26 22:23:35.411530" }, ]; const result = arr.map((o) => [ +o.temp, o.time.split(" ")[1].split(".")[0].split(":").map(Number), ]); console.log(result); 2) También puede usar expresiones regulares aquí [^\s]+([^\.]+)/ :
const arr = [ { temp: "24.44", time: "2021-11-26 22:23:29.370657" }, { temp: "25.44", time: "2021-11-26 22:23:35.411530" }, ]; const result = arr.map(({ temp, time }) => { const [a, b, c] = time.match(/[^\s]+([^\.]+)/)[1].split(":"); return [+temp, [+a, +b, +c]]; }); console.log(result);