diff --git a/jour12/jour12.js b/jour12/jour12.js index 7f013c4..d95c749 100644 --- a/jour12/jour12.js +++ b/jour12/jour12.js @@ -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 où 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 s’appliquant pas - * aux Array (toujours une addition complète) - * - * @param Object obj - Object où se trouve des nombres - * @return int la somme totale - */ -function parseJsonDeux(obj) { +/* +function parseObject(objet) { let ret = 0; let value; - // c’est plus jolie d’avoir 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; } +*/