xxxxxxxxxx
/**
* JSON Weekdays Access (v1.1.0)
* GoToLoop (2020-Sep-30)
*
* https://Discourse.Processing.org/t/
* trouble-with-code-linking-to-json-file-in-p5-js/24241/3
*
* https://www.OpenProcessing.org/sketch/975186
*/
'use strict';
const STYLE = 'color: yellow; background: blue; ' +
'font-weight: bold; font-size: 1.2em;',
SPC = '\u2003', LF = '\n';
var jsonObject, instaAccesses, accessTimes;
function preload() {
jsonObject = loadJSON('weekdays.json');
}
function setup() {
noCanvas();
noLoop();
console.clear();
console.table(jsonObject);
console.log(LF);
instaAccesses = getArrayFromWeekdayProp(jsonObject, 'Sunday', 'instagram');
console.log('Number of Instagram accesses at a given hour:', instaAccesses);
console.log(LF);
accessTimes = getArrayFromWeekdayProp(jsonObject, 'Monday', 'time');
console.log('All access hours:', accessTimes);
console.log(LF);
createPageLogList(jsonObject);
}
function getArrayFromWeekdayProp(jsonObj, weekday, prop, hours = 'hours') {
return Array.from(jsonObj[weekday][hours], hourObj => hourObj[prop]);
}
function createPageLogList(jsonObj, style = STYLE) {
for (const weekday in jsonObj) {
const jsonArray = jsonObj[weekday].hours,
entry = weekday + ':',
list = createElement('ul', entry.bold().big().fontcolor('red'));
console.info('%c' + entry, style);
console.group('hours');
for (const hourObj of jsonArray) {
const { time, instagram } = hourObj,
info = `time: ${time} ${SPC} \t ${SPC} instagram(s): ${instagram}`;
createElement('li', info.italics().bold().fixed()).parent(list);
console.log(info);
}
console.groupEnd();
console.log(LF);
}
}