2021-03-24 21:25:07 +01:00
|
|
|
const fs = require('fs');
|
|
|
|
|
|
|
|
try {
|
2021-03-24 21:33:49 +01:00
|
|
|
const file = fs.readFileSync("input", "utf8");
|
|
|
|
const data = JSON.parse(file);
|
2021-03-24 21:25:07 +01:00
|
|
|
console.log("Traitement de la première partie…");
|
2021-03-24 21:32:11 +01:00
|
|
|
console.log("La somme totale est " + parseJsonPrem(data));
|
2021-03-24 21:25:07 +01:00
|
|
|
} catch(err) {
|
|
|
|
console.log("Une erreur a été rencontrée !");
|
|
|
|
console.error(err);
|
|
|
|
}
|
|
|
|
|
2021-03-24 21:32:11 +01:00
|
|
|
/**
|
|
|
|
* Fonction additionnant tous les nombres contenus dans un objet
|
|
|
|
* de type Array ou JSON.
|
|
|
|
*
|
|
|
|
* @param Object obj - Object où se trouve des nombres
|
|
|
|
* @return int la somme totale
|
|
|
|
*/
|
2021-03-24 21:25:07 +01:00
|
|
|
function parseJsonPrem(obj) {
|
|
|
|
let ret = 0;
|
|
|
|
let value;
|
|
|
|
|
|
|
|
for (const index in obj) {
|
|
|
|
value = obj[index];
|
2021-03-24 21:32:11 +01:00
|
|
|
if (value instanceof Object) { // car Array est un Object
|
2021-03-24 21:25:07 +01:00
|
|
|
ret += parseJsonPrem(value);
|
|
|
|
} else if (Number.isInteger(value)) {
|
|
|
|
ret += value;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
return ret;
|
|
|
|
}
|
|
|
|
|
|
|
|
/*
|
|
|
|
function parseObject(objet) {
|
|
|
|
let ret = 0;
|
|
|
|
let value;
|
|
|
|
|
|
|
|
for (const index in obj) {
|
|
|
|
value = obj[index];
|
|
|
|
if (value instanceof Array) {
|
|
|
|
ret += parseArray(value);
|
|
|
|
} else if (value instanceof Object) {
|
|
|
|
ret += parseObject(value);
|
|
|
|
} else if (Number.isInteger(value)) {
|
|
|
|
ret += value;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
return ret;
|
|
|
|
}
|
|
|
|
*/
|