Skip to content

Instantly share code, notes, and snippets.

@developerfromjokela
Created March 21, 2021 18:53
Show Gist options
  • Save developerfromjokela/c25310e0078d42ada15f8818e05349a5 to your computer and use it in GitHub Desktop.
Save developerfromjokela/c25310e0078d42ada15f8818e05349a5 to your computer and use it in GitHub Desktop.
Crude Built-in-five-minute tree generator (only two layers) (do not use, code is shit and could break!)
let main = ["vanilja", "mansikka", "sulkaa", "päärynä"];
let sub = ["sulkaa", "kinuski"];
let tree = {};
main.forEach(item => {
tree[item] = sub;
})
let spacing = " ";
let layers = ["", "", ""];
Object.keys(tree).forEach(key => {
let items = tree[key];
let length = spacing.length;
//layers[2] = layers[2].substr(0, layers[1].length-1)
items.forEach(item => {
length+=item.length+spacing.length;
layers[1] += " ".repeat(item.length+spacing.length-1)+"|"+" ".repeat(item.length+spacing.length-1)
let calculated = (" ".repeat(((item.length+spacing.length)-(item.length/2))-1));
let end = (" ".repeat((item.length+spacing.length)-(item.length/2)));
layers[2] += end+item+calculated;
layers[2] = layers[2].substr(0, layers[1].length-1)
//layers[2] += " ";
});
layers[1] = layers[1].substr(0, layers[1].length-1)
let distance = Math.abs(length-key.length);
layers[0] += " ".repeat(distance)+key+" ".repeat(distance);
});
layers.forEach((item, index) => {
if (index === 0 || index === layers.length-1)
console.log("\n"+item);
else {
console.log(("\n"+item).repeat(3));
}
})
console.log("\n".repeat(2));
console.log("Erilaisia yhdistelmiä saa muodosteltua: "+main.length+"x"+sub.length+"="+(main.length*sub.length));
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment