Entering Data into a 2d array overwrite issue.

I’ve searched all over for a answer about this question, and haven’t turned anything up. Essentially when I enter in values to a multidimensional array in Java/Unityscript it overwrites values for all other parts of the Array. I’m starting to think that its something simple I have overlooked. Here is the simple version:

    var majorFeatures : Array = new Array();
    var emptyArr : Array = new Array();
    majorFeatures[0] = emptyArr;
    majorFeatures[1] = emptyArr;
    majorFeatures[0][0] = "M";
    Debug.Log(majorFeatures[0][0]); // Returns value "M"
    majorFeatures[1][0] = "O";
    Debug.Log(majorFeatures[0][0]); // Returns value "O" when it should still be "M"

I’m confuzzled to the point of hair-pulling. Any guidance not involving degradation is most appreciated!

It’s cause you’re using the same array object for both the rows.

majorFeatures[0] = emptyArr;
majorFeatures[1] = emptyArr;

majorFeatures[0] and majorFeatures[1] point to the same object in memory.

Instantiate a new array for each row instead.

I’m no JS coder, but here’s my try:

var nRows : int = 2;
var nCols : int = 10;

  var x = new Array(nRows);
  for (var i = 0; i < nRows; i++) {
    x *= new Array(nCols);*

}