I'm trying to replace the underscores in the underscore string with the corresponding letter from the word string (see full code in the snippet) and so far I'm getting weird bugs where it wont check all the underscores or will miss one, anyway to fix it? I'm happy to rebuild it if need be.
    var underscore = "";
    var letter;;
    var wordList = ["apple", "peach", "pear", "mango", "banana", "paper", "pens", "laptop", "desk", "chair", "star", "sky", "moon", "sun", "planets"];
    var word = wordList[Math.floor(Math.random() * wordList.length)];
    for (i = 0; i < word.length; i++)   {
        var underscore = underscore + "_ ";
    }    
   var replaceletter = 0
                for (i = 0; i < word.length; i++)   {
                    replaceletter = word.indexOf(letter, replaceletter);
                    underscore = underscore.replace(underscore.charAt(replaceletter), word.charAt(replaceletter));
                }
/* Hangman Game CSS File */
body
{
 background-color: #1B264F;
}
#main {
 background-color: #5386E4;
 height: 97vh; 
    width: 95vw;
    vertical-align: middle;
}
canvas {
    padding-left: 0;
    padding-right: 0;
    margin-left: auto;
    margin-right: auto;
    display: block;
    margin-top: auto;
    margin-bottom: auto;
}<!DOCTYPE html>
<html>
 <head>
  <title>Hangman by Lachlan Teale</title> 
  <meta name="description" content="Lachlan Teale's Hangman Game 2015">
  <meta name="keywords" content="hangman, lachlan, teale, Javascript">
  <meta charset="UTF-8">
  <meta name="author" content="Lachlan Teale">
  <link rel="stylesheet" type="text/css" href="style.css">
 </head>
 <body>
 <canvas id="main" width="1920" height="1080" style="border:1px solid #d3d3d3;"></canvas>
 <script type="text/javascript">
 //setting variables
  var canvas = document.getElementById('main');
      var context = canvas.getContext('2d');
       var underscore = "";
       var letter;
       var complete = false;
 //list of words
  var wordList = ["apple", "peach", "pear", "mango", "banana", "paper", "pens", "laptop", "desk", "chair", "star", "sky", "moon", "sun", "planets"];
 //picking a random word from the list
  var word = wordList[Math.floor(Math.random() * wordList.length)];
 //print out the underscores for the number of letters
  for (i = 0; i < word.length; i++) {
   var underscore = underscore + "_ ";
  }
  context.font = '50pt Calibri';
       context.textAlign = 'center';
       context.fillStyle = '#E2E2E3';
       context.fillText(underscore, canvas.width * 0.5, canvas.height * 0.70);
    //correct letter text
       context.font = 'bold 30pt Calibri';
       context.textAlign = 'center';
       context.fillStyle = '#E2E2E3';
       context.text
       context.fillText("Correct Letters", canvas.width * 0.08, canvas.height * 0.05);
    //Wrong Letter text
       context.font = 'bold 30pt Calibri';
       context.textAlign = 'center';
       context.fillStyle = '#E2E2E3';
       context.text
       context.fillText("Wrong Letters", canvas.width - (canvas.width * 0.08), canvas.height * 0.05);
 //checking which button is pressed
  window.addEventListener('keydown', function(event) {
   if ( event.keyCode >= 65 && event.keyCode <= 90 ) {
       context.clearRect(0, canvas.height * 0.80, canvas.width, canvas.height);  
          letter = String.fromCharCode( event.keyCode ).toLowerCase();
          context.font = '50pt Calibri';
         context.textAlign = 'center';
         context.fillStyle = '#E2E2E3';
         context.fillText(letter, canvas.width * 0.5, canvas.height * 0.85);
        }
  });
 //checking if back key is pressed
  document.addEventListener('keydown', function(event) {                     
      if ( event.keyCode == 8 ) {              
       context.clearRect(0, canvas.height * 0.80, canvas.width, canvas.height); 
      }
     });
 //checking if enter is pressed
       document.addEventListener('keydown', function(event) {                     
      if( event.keyCode == 13 ) {
    //checking if letter is in the word
       var replaceletter = 0
          for (i = 0; i < word.length; i++) {
        replaceletter = word.indexOf(letter, replaceletter);
        underscore = underscore.replace(underscore.charAt(replaceletter), word.charAt(replaceletter));
       }
    context.clearRect(canvas.width * 0.4, canvas.height * 0.3, canvas.width *0.7, canvas.height * 70);
       context.font = '50pt Calibri';
         context.textAlign = 'center';
         context.fillStyle = '#E2E2E3';
         context.fillText(underscore, canvas.width * 0.5, canvas.height * 0.70);
   }
     });
  
  </script>
 </body>
</html> 
     
    