Compare commits

..

No commits in common. "448ca0d0fe446bb868d6f6c72c4f7760d3b0e018" and "dee1b30eb34c87970e48b244a969e2bb68f03264" have entirely different histories.

View file

@ -1,31 +1,22 @@
const fs = require('fs');
const file = fs.readFileSync("input", "utf8");
const data = JSON.parse(file);
try {
const file = fs.readFileSync("input", "utf8");
const data = JSON.parse(file);
console.log("Traitement de la première partie…");
console.log("La somme totale est " + parseJsonPrem(data));
console.log("Traitement de la deuxième partie…");
console.log("La somme totale est " + parseJsonDeux(data));
console.log("La somme totate est " + parseJsonPrem(data));
} catch(err) {
console.log("Une erreur a été rencontrée !");
console.error(err);
}
/**
* Fonction additionnant tous les nombres contenus dans un objet
* de type Array ou JSON.
*
* @param Object obj - Object se trouve des nombres
* @return int la somme totale
*/
function parseJsonPrem(obj) {
let ret = 0;
let value;
for (const index in obj) {
value = obj[index];
if (value instanceof Object) { // car Array est un Object
if (value instanceof Object) {
ret += parseJsonPrem(value);
} else if (Number.isInteger(value)) {
ret += value;
@ -34,31 +25,21 @@ function parseJsonPrem(obj) {
return ret;
}
/**
* Fonction additionnant tous les nombres contenus dans un objet
* sauf ceux qui ont une propriété "red". Règle ne sappliquant pas
* aux Array (toujours une addition complète)
*
* @param Object obj - Object se trouve des nombres
* @return int la somme totale
*/
function parseJsonDeux(obj) {
/*
function parseObject(objet) {
let ret = 0;
let value;
// cest plus jolie davoir une variable dédiée plutot que bourrer le if
let isObj = !(obj instanceof Array) && obj instanceof Object;
for (const index in obj) {
value = obj[index];
if (value instanceof Object) {
ret += parseJsonDeux(value);
if (value instanceof Array) {
ret += parseArray(value);
} else if (value instanceof Object) {
ret += parseObject(value);
} else if (Number.isInteger(value)) {
ret += value;
} else if (isObj && value === "red") {
ret = 0;
break;
}
}
return ret;
}
*/