Skip to content

Instantly share code, notes, and snippets.

@treysmithdev
Last active March 1, 2020 19:48
Show Gist options
  • Save treysmithdev/dda03d3f4c09d7a97de069c81ce4896c to your computer and use it in GitHub Desktop.
Save treysmithdev/dda03d3f4c09d7a97de069c81ce4896c to your computer and use it in GitHub Desktop.
/*
Example:
Chart has 3 columns (2 Dims, 1 Msr)
date_num | dim | msr
---------|-----|-----
43556 | B | 25
43556 | C | 26
....
*/
data =
[
[
{ qText: '43556', qNum: 43556, qElemNumber: 1, qState: 'O' },
{ qText: 'B', qNum: 'NaN', qElemNumber: 1, qState: 'O' },
{ qText: '25', qNum: 25, qElemNumber: 0, qState: 'L' }
],
[
{ qText: '43556', qNum: 43556, qElemNumber: 1, qState: 'O' },
{ qText: 'C', qNum: 'NaN', qElemNumber: 2, qState: 'O' },
{ qText: '26', qNum: 26, qElemNumber: 0, qState: 'L' }
],
[
{ qText: '43556', qNum: 43556, qElemNumber: 1, qState: 'O' },
{ qText: 'D', qNum: 'NaN', qElemNumber: 0, qState: 'O' },
{ qText: '25', qNum: 25, qElemNumber: 0, qState: 'L' }
],
[
{ qText: '43586', qNum: 43586, qElemNumber: 2, qState: 'O' },
{ qText: 'C', qNum: 'NaN', qElemNumber: 2, qState: 'O' },
{ qText: '25', qNum: 25, qElemNumber: 0, qState: 'L' }
],
[
{ qText: '43586', qNum: 43586, qElemNumber: 2, qState: 'O' },
{ qText: 'D', qNum: 'NaN', qElemNumber: 0, qState: 'O' },
{ qText: '26', qNum: 26, qElemNumber: 0, qState: 'L' }
],
[
{ qText: '43617', qNum: 43617, qElemNumber: 0, qState: 'O' },
{ qText: 'B', qNum: 'NaN', qElemNumber: 1, qState: 'O' },
{ qText: '25', qNum: 25, qElemNumber: 0, qState: 'L' }
],
[
{ qText: '43617', qNum: 43617, qElemNumber: 0, qState: 'O' },
{ qText: 'C', qNum: 'NaN', qElemNumber: 2, qState: 'O' },
{ qText: '26', qNum: 26, qElemNumber: 0, qState: 'L' }
],
[
{ qText: '43617', qNum: 43617, qElemNumber: 0, qState: 'O' },
{ qText: 'D', qNum: 'NaN', qElemNumber: 0, qState: 'O' },
{ qText: '26', qNum: 26, qElemNumber: 0, qState: 'L' }
]
]
const rows = []
const rowObj = {}
for (var r in data) {
let row = data[r]
values = []
v = {}
for (var c in row) {
values.push(row[c].qNum== 'NaN' ? row[c].qText : row[c].qNum)
}
// Row Array
rows.push(values)
// Single Object with dim values as key
key = values[0]+"|"+values[1]
rowObj[key] = values[2]
}
console.log('\n','Row Array:', '\n\n', rows,'\n')
console.log('Object:','\n\n', rowObj,'\n')
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment