Ajout deuxième partie et doc
This commit is contained in:
parent
183df528f1
commit
448ca0d0fe
1 changed files with 19 additions and 7 deletions
|
@ -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 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) {
|
||||||
let ret = 0;
|
let ret = 0;
|
||||||
let value;
|
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) {
|
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;
|
||||||
}
|
}
|
||||||
*/
|
|
||||||
|
|
Loading…
Reference in a new issue