2017-12-25 1 views
0

TypeScript에서 enum으로 채워진 2 차원 배열을 만들고 싶지만 많은 연구를했지만 사용할 수있는 것이 아무것도 없습니다.입체 문자로 enum으로 채워진 2 차원 배열 만들기

enum States { neutral, one, two }; 

export let gameField: States[][]; 
gameField = []; 

for(var i: number = 0; i < 10; i++) { 
    gameField = []; 
    for(var j: number = 0; j< 10; j++) { 
     gameField[j] = States.neutral; 
    } 
} 

그러나 gameField[j] = States.neutral; 오류 메시지 다음과 같은 생산 라인 : : 는 "유형"States.neutral는 [국가] "유형에 할당 할 수 없습니다" " 이것은 내가 지금까지 작성한 코드 "

내 질문은 지금 :이 코드 조각은 무엇이 잘못되었으며 어떻게 해결할 수 있습니까? 감사합니다.

답변

0

States 유형의 단일 값을 States[] (배열은 States) 유형으로 지정하려는 오류가 발생했습니다. 코드에서 실제로는 2D 배열을 만들지 않고 1 차원 배열을 만듭니다. 여기

나는 당신을 위해 그것을 해결 :

enum States { 
    neutral, 
    one, 
    two 
} 

export let gameField: States[][]; 
gameField = []; 

for (let i = 0; i < 10; i++) { 
    gameField[i] = Array(10); 
    for (let j = 0; j < 10; j++) { 
    gameField[i][j] = States.neutral; 
    } 
} 

팁 : 당신은 할당 된 변수의 유형, 예를 선언 할 필요가 없습니다 var a: number = 1입니다. TypeScript 컴파일러가 자동으로이를 추론 할 수 있기 때문입니다.