The class has a method:
constructor(id) { this.position = [6, 4]; this.LABYRINTH = init2DArray(8, 8, {lookaround: false, events: false}); this.lookedaround.bind(this); } lookedaround() { //this.position задан в конструкторе: this.position = [6, 4]; this.LABYRINTH[this.position[0]][this.position[1]].lookaround = true; } The function of filling a clean array:
function init2DArray(xlen, ylen, data) { var ret = []; for (var x = 0; x < xlen; x++) { ret[x] = []; for (var y = 0; y < ylen; y++) { ret[x][y] = data; } } return ret; } When I just call the method lookedaround entire array is overwritten, replacing each value with true . I just can not understand why this is happening ...
That's it:
player.LABYRINTH.forEach((e, o) => { e.forEach((i, p) => { console.log(`[${o}, ${p}] = ${i.lookaround}`); }); }); [0, 0] = false [0, 1] = false [0, 2] = false [0, 3] = false [0, 4] = false [0, 5] = false [0, 6] = false [0, 7] = false [1, 0] = false [1, 1] = false [1, 2] = false [1, 3] = false [1, 4] = false [1, 5] = false [1, 6] = false [1, 7] = false [2, 0] = false [2, 1] = false [2, 2] = false [2, 3] = false [2, 4] = false [2, 5] = false [2, 6] = false [2, 7] = false [3, 0] = false [3, 1] = false [3, 2] = false [3, 3] = false [3, 4] = false [3, 5] = false [3, 6] = false [3, 7] = false [4, 0] = false [4, 1] = false [4, 2] = false [4, 3] = false [4, 4] = false [4, 5] = false [4, 6] = false [4, 7] = false [5, 0] = false [5, 1] = false [5, 2] = false [5, 3] = false [5, 4] = false [5, 5] = false [5, 6] = false [5, 7] = false [6, 0] = false [6, 1] = false [6, 2] = false [6, 3] = false [6, 4] = false [6, 5] = false [6, 6] = false [6, 7] = false [7, 0] = false [7, 1] = false [7, 2] = false [7, 3] = false [7, 4] = false [7, 5] = false [7, 6] = false [7, 7] = false player.lookedaround(); player.LABYRINTH.forEach((e, o) => { e.forEach((i, p) => { console.log(`[${o}, ${p}] = ${i.lookaround}`); }); }); [0, 0] = true [0, 1] = true [0, 2] = true [0, 3] = true [0, 4] = true [0, 5] = true [0, 6] = true [0, 7] = true [1, 0] = true [1, 1] = true [1, 2] = true [1, 3] = true [1, 4] = true [1, 5] = true [1, 6] = true [1, 7] = true [2, 0] = true [2, 1] = true [2, 2] = true [2, 3] = true [2, 4] = true [2, 5] = true [2, 6] = true [2, 7] = true [3, 0] = true [3, 1] = true [3, 2] = true [3, 3] = true [3, 4] = true [3, 5] = true [3, 6] = true [3, 7] = true [4, 0] = true [4, 1] = true [4, 2] = true [4, 3] = true [4, 4] = true [4, 5] = true [4, 6] = true [4, 7] = true [5, 0] = true [5, 1] = true [5, 2] = true [5, 3] = true [5, 4] = true [5, 5] = true [5, 6] = true [5, 7] = true [6, 0] = true [6, 1] = true [6, 2] = true [6, 3] = true [6, 4] = true [6, 5] = true [6, 6] = true [6, 7] = true [7, 0] = true [7, 1] = true [7, 2] = true [7, 3] = true [7, 4] = true [7, 5] = true [7, 6] = true [7, 7] = true