Skip to content

Instantly share code, notes, and snippets.

@kishaningithub
Created January 6, 2017 12:07
Show Gist options
  • Save kishaningithub/cfb26456797cd8e91820c897f47af339 to your computer and use it in GitHub Desktop.
Save kishaningithub/cfb26456797cd8e91820c897f47af339 to your computer and use it in GitHub Desktop.
var sourceArr = [
{
"article_id": 71942,
"event_code": "A9",
"start_date": "2016-11-25",
"end_date": "2016-12-30",
"quantity_alloted": 120,
"first_delivery_date": "2016-11-25",
"year": 2016,
"delivery_schedules": [
{
"delivery_date": "2016-11-26",
"quantity": 60
},
{
"delivery_date": "2016-12-02",
"quantity": 40
},
{
"delivery_date": "2016-12-05",
"quantity": 20
}
]
},
{
"article_id": 71943,
"event_code": "A9",
"start_date": "2016-11-25",
"end_date": "2016-12-30",
"quantity_alloted": 20,
"first_delivery_date": "2016-11-25",
"year": 2016,
"delivery_schedules": [
{
"delivery_date": "2016-11-25",
"quantity": 20
}
]
}
];
function jsonToGherkan(jsonArr) {
var returnArr = []
var headerArray = [];
Object.keys(jsonArr[0]).forEach(function(header) {
if(!Array.isArray(jsonArr[0][header])){
headerArray.push(header)
}
});
var headerRow = " | id | " + headerArray.join(" | ") + " | ";
returnArr.push(headerRow);
for (var i = 0; i < jsonArr.length; i++) {
var rowArr = [ i + 1 ];
for( var j = 0 ; j < headerArray.length; j++ ){
var cell = jsonArr[i][headerArray[j]];
if(Array.isArray(cell)) {
returnArr.push(jsonToGherkan(cell));
} else {
rowArr.push(cell);
}
}
var contentRow = " | " + rowArr.join(" | ") + " | ";
returnArr.push(contentRow);
}
return returnArr;
}
console.log(jsonToGherkan(sourceArr).join("\n"));
for(var i = 0; i < sourceArr.length; i++) {
console.log(jsonToGherkan(sourceArr[i].delivery_schedules).join("\n"));
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment