I have this class on javascript:
function Node(board,x,y,t){
    this.board = board;
    this.x = x;
    this.y = y;
    this.playerTile = t;
    this.oponentTile = getOponentTile(this.playerTile);
    this.parent = null;
    this.getChildren = getChildren;
};
and I´m using this function which copies the this.board variable (which is an array) to the tempBoard variable using slice()
var getChildren = function() {
        if(this.x==-1 && this.y ==-1){
            var moves = getAllValidMoves(this.board,this.playerTile);
        }
        else{
            var tempBoard = this.board.slice();
            makeMove(tempBoard,this.playerTile,this.x,this.y);
            var moves = getAllValidMoves(tempBoard,this.playerTile);
        }
        var children = [];
        for(var i = 0;i<moves.length;i++){
            var currentMove = moves[i];
            var currentBoard = this.board.slice();
            if(this.x==-1 && this.y ==-1){
                children.push(new Node(currentBoard,currentMove[0],currentMove[1],this.playerTile));
            }
            else{
                makeMove(currentBoard,this.playerTile,this.x,this.y)
                children.push(new Node(currentBoard,currentMove[0],currentMove[1],this.oponentTile));
            }
        }
        return children;
    };
the problem is that after calling makemove() both the tempBoard and the this.board variables are being modified.
Is there any way I can copy an array without it´s reference?
 
     
     
    