1
Array.prototype.map
과 함께 사용할 때 예기치 않은 출력으로 인해 새로운 Array.prototype.fill
메서드로 문제가 발생했습니다. 예를 들어 위의 예에서배열 채우기로 초기화 된 배열에서 배열 맵을 사용하는 예기치 않은 동작
// Initialize our n x n matrix and fill with 0's
let M = Array(3).fill(Array(3).fill(0));
M.map(function (row, i) {
row[i] = i;
return row;
}); //=> [[0, 1, 2], [0, 1, 2], [0, 1, 2]]
, I 출력은 아래 예와 동일하게 생길
let M = [[0, 0, 0], [0, 0, 0], [0, 0, 0]];
M.map(function (row, i) {
row[i] = i;
return row;
}); //=> [[0, 0, 0], [0, 1, 0], [0, 0, 2]]
를 그렇지 그러나. 어떤 이유로 첫 번째 예제에서 반환 된 결과는 다음 반복에서 행 값으로 사용됩니다. 왜 이런 일이 생길지 모르는 어떤 아이디어? 나는 ES6 코드를 ES5로 변환하기 위해 browserify에 6to5ify 변환을 사용하고 있습니다.