У меня есть следующий массив массивов:
[
[o1, c1, h1, l1 ,t1],
[o2, c2, h2, l2, t2],
...
[oN, cN, hN, lN, tN]
]
Мне нужно преобразовать это в объект, который структурирован следующим образом:
{
open: [o1,o2,o3,o4,o5,o6,o7,o8, ... oN],
close: [c1,c2,c3,c4,c5,c6,c7,c8, ... cN],
high: [h1,h2,h3,h4,h5,h6,h7,h8, ... hN],
low: [l1,l2,l3,l4,l5,l6,l7,l8, ... lN],
time: [t1,t2,t3,t4,t5,t6,t7,t8, ... tN]
}
Таким образом, это означает, что мне нужно решить еще одну проблему - реорганизовать столбцы в строки.
Ниже приведен код, который работает для меня:
function convertData(rawDataArray) {
[open, close, high, low, timesignature] = [
[],
[],
[],
[],
[]
];
var arrayLength = rawDataArray.length;
for (var i = 0; i < arrayLength; i++) {
open.push(rawDataArray[i][1])
close.push(rawDataArray[i][2])
high.push(rawDataArray[i][3])
low.push(rawDataArray[i][4])
timesignature.push(rawDataArray[i][0])
}
return {
open: open,
close: close,
high: high,
low: low,
timeSignature: timesignature
}
}
Однако мое решение кажется мне неуклюжим и не очень элегантным.Мне любопытно узнать, как написать это более эффективно.