title: Array.splice doesn't change the length
body: <p>I have a function where I delete some parts of an Array using <code>.splice</code>, but when I look about <code>console.log</code> on it's length it hasn't changed.. and with hexdump I also saw that the "deleted" string is still there</p>
  
  <p>e.g. </p>
  
  <pre><code>Sudoku[j][y] = [3, 7]
  Sudoku[x][y][k] = 3
  
  function...
  Sudoku[j][y].splice(Sudoku[j][y].indexOf(Sudoku[x][y][k]), 1)
  
  console.log(Sudoku[j][y], Sudoku[j][y].length, Hexdump.dump(Sudoku[j][y]))
  = [7] 2 /*Zusammenfassung des hex:*/ 3, 7
  </code></pre>
  
  <p>(the value that shall be deleted comes from an other var, that's why I wrote the part with the "indexOf")</p>
  
  <p>The Sudoku is a 3D Matrix: the first D ans second D are the x and y rows/columns, while the third Dimension is for the rest posibilities</p>
  
  <p>What can I do, to delete the value  once and for all?</p>
  
  <p>because I have an IF that needs to know the length of my Arrays...</p>
  
  <p>after I threw a bunch of more console.log into my code I also saw that stuff...
  Sometimes...</p>
  
  <pre><code>console.log(sudoku[j][y].length, sudoku[j][y], sudoku[j][y].indexOf(sudoku[x][y][k]))
  sudoku[j][y].splice(sudoku[j][y].indexOf(sudoku[x][y][k]), 1);
  console.log(sudoku[j][y].length, sudoku[j][y])
  </code></pre>
  
  <p>Results into:</p>
  
  <pre><code>4 [7, 9] 0
  3 [7, 9]
  </code></pre>
  
  <p>so my newest try was to use an new method instead of splice:</p>
  
  <pre><code>sudoku[x][j][(sudoku[x][j].indexOf(sudoku[x][y][k]))]=sudoku[x][j][sudoku[x][j][sudoku[x][y].length-1]]
  sudoku[x][j].length--
  </code></pre>
  
  <p>It worked in jsfiddle but ain't solved my problems in my real code...
  sometimes I saw a "undefined" in my code.. but the bigger problem was that it also left the hexdumps there... so that the lenght, even after I directly said him to get smaller, hasn't changed...</p>