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);
Advertisement
Answer
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);