Ok, I really don't know why you have to do all that code to do something so simple. Here's what I see.
You have a large global array of enemies:
var enemies = [];
enemies[0] = new Enemy("enemy1");
enemies[1] = new Enemy("enemy2");
enemies[2] = new Enemy("enemy3");
enemies[3] = new Enemy("enemy4");
Then, in your battle system you say, come across 4 random enemies? We don't need Knuth shuffle for that.
var team = new EnemyTeam(GetRandom(enemies), GetRandom(enemies), GetRandom(enemies), GetRandom(enemies));
Where GetRandom is simply, this (what Jest had):
function GetRandom(array) {
return array[Math.floor(Math.random() * array.length)];
}
The Knuth Shuffle is primarily used to shuffle a sorted list. It's more useful for something like this:
var enemy_team = [enemies[0], enemies[0], enemies[1], enemies[2]];
RandomizeArray(enemy_team);
var team = new EnemyTeam(enemy_team[0], enemy_team[1], enemy_team[2], enemy_team[3]);
The use is slightly different, and in this case the Knuth shuffle is really not all that needed. I hope that clarifies somethings.