this is my code, my last console.log return an undefined result, can you help me to understand why?
I don't really understand why this happened but I'm sure that is a really stupid thing
also, this is the input(elem_riga
)
00100
11110
10110
10111
10101
01111
00111
11100
10000
11001
00010
01010
const fs = require("fs");
const input = fs.readFileSync("./demo.txt").toString();
const elem_riga = input.split("\n");
const most_common = (filtro_vincente, index) => {
for (let i of filtro_vincente) {
index ;
const filtro_uno = filtro_vincente.filter((e) => e[index] === "1");
const filtro_due = filtro_vincente.filter((e) => e[index] === "0");
filtro_uno.length > filtro_due.length
? (filtro_vincente = filtro_uno)
: (filtro_vincente = filtro_due);
if (filtro_uno.length === filtro_due.length) {
return console.log(filtro_uno);
}
}
};
const most_uncommon = (filtro_vincente, index) => {
for (let i of filtro_vincente) {
index ;
const filtro_uno = filtro_vincente.filter((e) => e[index] === "1");
const filtro_due = filtro_vincente.filter((e) => e[index] === "0");
filtro_uno.length < filtro_due.length
? (filtro_vincente = filtro_uno)
: (filtro_vincente = filtro_due);
if (filtro_uno.length === filtro_due.length) {
return console.log(filtro_due);
}
}
};
const xygen_generator_rating = (elem_riga, index) => {
const filtro_uno = elem_riga.filter((e) => e[index] === "1");
const filtro_due = elem_riga.filter((e) => e[index] === "0");
filtro_uno.length > filtro_due.length
? most_common(filtro_uno, index)
: most_common(filtro_due, index);
};
const co2_scrubber_rating = (elem_riga, index) => {
const filtro_uno = elem_riga.filter((e) => e[index] === "1");
const filtro_due = elem_riga.filter((e) => e[index] === "0");
filtro_uno.length < filtro_due.length
? most_uncommon(filtro_uno, index)
: most_uncommon(filtro_due, index);
};
const oxgen_gen = xygen_generator_rating(elem_riga, (index = 0));
const co2 = co2_scrubber_rating(elem_riga, (index = 0));
console.log(oxgen_gen, co2);
CodePudding user response:
most_common()
and most_uncommon()
shouldn't return the result of console.log()
, they should return the variables filtro_uno
and filtro_due
.
xygen_generator_rating()
and co2_scrubber_rating()
need to return the results of the ternaries.
const most_common = (filtro_vincente, index) => {
for (let i of filtro_vincente) {
index ;
const filtro_uno = filtro_vincente.filter((e) => e[index] === "1");
const filtro_due = filtro_vincente.filter((e) => e[index] === "0");
filtro_uno.length > filtro_due.length
? (filtro_vincente = filtro_uno)
: (filtro_vincente = filtro_due);
if (filtro_uno.length === filtro_due.length) {
console.log(filtro_uno);
return filtro_uno;
}
}
};
const most_uncommon = (filtro_vincente, index) => {
for (let i of filtro_vincente) {
index ;
const filtro_uno = filtro_vincente.filter((e) => e[index] === "1");
const filtro_due = filtro_vincente.filter((e) => e[index] === "0");
filtro_uno.length < filtro_due.length
? (filtro_vincente = filtro_uno)
: (filtro_vincente = filtro_due);
if (filtro_uno.length === filtro_due.length) {
console.log(filtro_due);
return filtro_due;
}
}
};
const xygen_generator_rating = (elem_riga, index) => {
const filtro_uno = elem_riga.filter((e) => e[index] === "1");
const filtro_due = elem_riga.filter((e) => e[index] === "0");
return filtro_uno.length > filtro_due.length
? most_common(filtro_uno, index)
: most_common(filtro_due, index);
};
const co2_scrubber_rating = (elem_riga, index) => {
const filtro_uno = elem_riga.filter((e) => e[index] === "1");
const filtro_due = elem_riga.filter((e) => e[index] === "0");
return filtro_uno.length < filtro_due.length
? most_uncommon(filtro_uno, index)
: most_uncommon(filtro_due, index);
};
const input = `00100
11110
10110
10111
10101
01111
00111
11100
10000
11001
00010
01010`;
const elem_riga = input.split("\n");
const oxgen_gen = xygen_generator_rating(elem_riga, (index = 0));
const co2 = co2_scrubber_rating(elem_riga, (index = 0));
console.log(oxgen_gen, co2);