openlang

정수 격자 참조하기

pixelGrid[#][#]로 pixelGrid를 참조하면 코드가 멈춰요. pixelGrid를 여러 방식으로 선언해 봤는데 나아지지 않았어요. 값에 0을 넣고 표시하면 되는데, 똑같이 0인 pixelGrid[0][0]을 넣으면 그 지점에서 갑자기 고장 나요. 조건식에서 접근하든, 값을 바꾸려고 접근하든, 다른 곳에서든 마찬가지예요.


var pixelGrid;
for (let row = 0; row < 9; row++) {
    for (let column = 0; column < 9; column++) {
        pixelGrid[row][column] = 0;
    }
}
function redrawPixels() {
    // Shortened for simplicity
    ImageData.data[0] = 0; // Works fine.
    ImageData.data[0] = pixelGrid[0][0]; // Function stops, and ctx.putImageData no longer updates canvas.
}
영어에서 번역원문 보기

이어지는 대화 2

서로의 근거를 따라
  1. 고유 링크

    변수를 배열처럼 쓰기 전에 배열 값으로 초기화해야 해요, 예를 들면

    
    var pixelGrid = []; // <- add this
    for (let row = 0; row < 9; row++) {
        pixelGrid[row] = []; // <- and add this
        for (let column = 0; column < 9; column++) {
            pixelGrid[row][column] = 0;
        }
    }
    console.log(pixelGrid[0][0]);
    console.log(pixelGrid[0]);
    console.log(pixelGrid);

    결과는 이래요:

    0

    [0, 0, 0, 0, 0, 0, 0, 0, 0]

    [[0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0]]

    참고: 콘솔의 오류를 확인하면 이런 문제를 찾는 데 도움이 돼요.

    영어에서 번역원문 보기
  2. 고유 링크

    pixelGrid를 선언만 하고 2차원 배열로 초기화하지 않은 게 문제예요.

    지금 쓰신 코드는:

    
    var pixelGrid;

    그러면 pixelGrid의 실제 값은: undefined

    다음 문장에서 멈춰요:

    
    pixelGrid[row][column] = 0;

    JavaScript가 실제로 시도하는 건 이거니까요:

    
    undefined[row][column]

    그러기 전에 배열을 초기화하세요:

    
    var pixelGrid = [];
    영어에서 번역원문 보기

같은 질문의 다른 갈래

  1. Java Mail에서 이메일 주소 대신 발신자 이름을 표시하기

    Java Mail API로 메시지를 보내고 있어요. 도착한 메일의 받은편지함에는 보낸 주소가 표시돼요. 그 발신자 주소 대신 텍스트를 보여 주고 싶어요. facebook에서 오는 메일은 받은편지함에 "mailbox@faceb…

    답글 2최근 활동 java
  2. TypeScript에서 Dynamics CRM에 접근하기

    CRM 코드가 웹 리소스 안에서 실행되다 보니 엔터티 데이터를 가져오려면 이렇게 작성해야 해요. 그런데 typescript로 작성하면 이 표현식이 컴파일되지 않아요. 지금은 Xrm.Page 앞에 window.parent를..…

    답글 2최근 활동 typescript
  3. Gleam HTTP 응답 헤더에는 어떤 날짜 형식이 필요한가요?

    Date 헤더를 보내고 싶어요. 필요한 형식은 다음과 같아요: 지금까지 시도한 코드는 이거예요:

    답글 3최근 활동 gleam