Ajout deuxième partie et doc

This commit is contained in:
rick 2021-03-24 21:45:51 +01:00
parent 183df528f1
commit 448ca0d0fe
Signed by: Rick
GPG key ID: 2B593F087240EE99

View file

@ -5,6 +5,8 @@ try {
const data = JSON.parse(file); const data = JSON.parse(file);
console.log("Traitement de la première partie…"); console.log("Traitement de la première partie…");
console.log("La somme totale est " + parseJsonPrem(data)); console.log("La somme totale est " + parseJsonPrem(data));
console.log("Traitement de la deuxième partie…");
console.log("La somme totale est " + parseJsonDeux(data));
} catch(err) { } catch(err) {
console.log("Une erreur a été rencontrée !"); console.log("Une erreur a été rencontrée !");
console.error(err); console.error(err);
@ -32,21 +34,31 @@ function parseJsonPrem(obj) {
return ret; return ret;
} }
/* /**
function parseObject(objet) { * 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) {
let ret = 0; let ret = 0;
let value; 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) { for (const index in obj) {
value = obj[index]; value = obj[index];
if (value instanceof Array) { if (value instanceof Object) {
ret += parseArray(value); ret += parseJsonDeux(value);
} else if (value instanceof Object) {
ret += parseObject(value);
} else if (Number.isInteger(value)) { } else if (Number.isInteger(value)) {
ret += value; ret += value;
} else if (isObj && value === "red") {
ret = 0;
break;
} }
} }
return ret; return ret;
} }
*/