Loadeksdi's 2021 Advent of Code writeups #6

Topic

The topic of the challenge can be found here

My solution

const fs = require('fs');
const lanternfish = fs.readFileSync('day6/input.txt').toString().split(",");

const fishesPerState = new Map();
for (let state = 0; state <= 8; state++) {
    fishesPerState.set(state, lanternfish.filter(fish => fish === state.toString()).length);
}

const simulateLanternfishsEvolution = (days) => {
    for (let i = 0; i < days; i++) {
        let val = fishesPerState.get(8);
        let val2 = fishesPerState.get(6);
        fishesPerState.set(6, fishesPerState.get(7) + fishesPerState.get(0));
        fishesPerState.set(8, fishesPerState.get(0));
        fishesPerState.set(0, fishesPerState.get(1));
        fishesPerState.set(1, fishesPerState.get(2));
        fishesPerState.set(2, fishesPerState.get(3));
        fishesPerState.set(3, fishesPerState.get(4));
        fishesPerState.set(4, fishesPerState.get(5));
        fishesPerState.set(5, val2);
        fishesPerState.set(7, val);
    }
    let result = 0;
    fishesPerState.forEach(fish => {
        result += fish
    });
    return result;
};

console.log(simulateLanternfishsEvolution(256));
Previous challenge
Next challenge