mirror of
https://github.com/jspsych/jsPsych.git
synced 2025-05-12 08:38:11 +00:00
update JSON2CSV implementation, other utils
This commit is contained in:
parent
c374991d17
commit
d636e3ac45
@ -23,35 +23,33 @@ export function saveTextToFile(textstr: string, filename: string) {
|
||||
// http://stackoverflow.com/users/317/joseph-sturtevant
|
||||
|
||||
export function JSON2CSV(objArray) {
|
||||
var array = typeof objArray != "object" ? JSON.parse(objArray) : objArray;
|
||||
var line = "";
|
||||
var result = "";
|
||||
var columns = [];
|
||||
const array = typeof objArray != "object" ? JSON.parse(objArray) : objArray;
|
||||
let line = "";
|
||||
let result = "";
|
||||
const columns = [];
|
||||
|
||||
var i = 0;
|
||||
for (var j = 0; j < array.length; j++) {
|
||||
for (var key in array[j]) {
|
||||
var keyString = key + "";
|
||||
for (const row of array) {
|
||||
for (const key in row) {
|
||||
let keyString = key + "";
|
||||
keyString = '"' + keyString.replace(/"/g, '""') + '",';
|
||||
if (!columns.includes(key)) {
|
||||
columns[i] = key;
|
||||
columns.push(key);
|
||||
line += keyString;
|
||||
i++;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
line = line.slice(0, -1);
|
||||
line = line.slice(0, -1); // removes last comma
|
||||
result += line + "\r\n";
|
||||
|
||||
for (var i = 0; i < array.length; i++) {
|
||||
var line = "";
|
||||
for (var j = 0; j < columns.length; j++) {
|
||||
var value = typeof array[i][columns[j]] === "undefined" ? "" : array[i][columns[j]];
|
||||
for (const row of array) {
|
||||
line = "";
|
||||
for (const col of columns) {
|
||||
let value = typeof row[col] === "undefined" ? "" : row[col];
|
||||
if (typeof value == "object") {
|
||||
value = JSON.stringify(value);
|
||||
}
|
||||
var valueString = value + "";
|
||||
const valueString = value + "";
|
||||
line += '"' + valueString.replace(/"/g, '""') + '",';
|
||||
}
|
||||
|
||||
@ -66,10 +64,10 @@ export function JSON2CSV(objArray) {
|
||||
// http://stackoverflow.com/posts/3855394
|
||||
|
||||
export function getQueryString() {
|
||||
var a = window.location.search.substr(1).split("&");
|
||||
var b = {};
|
||||
for (var i = 0; i < a.length; ++i) {
|
||||
var p = a[i].split("=", 2);
|
||||
const a = window.location.search.substr(1).split("&");
|
||||
const b = {};
|
||||
for (let i = 0; i < a.length; ++i) {
|
||||
const p = a[i].split("=", 2);
|
||||
if (p.length == 1) b[p[0]] = "";
|
||||
else b[p[0]] = decodeURIComponent(p[1].replace(/\+/g, " "));
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user