고급 데이터 유형

12573 단어 javascript

행렬, 행렬은 행과 열을 사용하여 표현되는 2차원 배열입니다.



이 데이터 유형은 통계, 3D 렌더링 등을 사용하여 그리드를 나타낼 때 일반적으로 사용됩니다.



이 데이터 유형을 사용하여 1인용 전함을 생성합니다.



행렬은 "board"를 사용하여 생성되고 null을 사용하면 빈 사각형이 생성되고 배에 대한 ""가 생성됩니다.




let board = [
[null, null, "s"]
["s", null, null]
[null, "s", null]
];


행에 액세스하는 방법



행에 할당된 숫자는 0에서 시작하여 행당 하나씩 증가합니다. 콘솔에 기록하려면 행에 변수를 할당해야 합니다.




let firstRow = board[0]
let secondRow = board[1]
let thirdRow = board[2]
console.log(`The Board contains ${firstRow }, ${secondRow } and ${thirdRow`};


열에 액세스하는 방법



행에 변수가 할당되면 그 안의 단일 요소에 액세스할 수 있습니다. 유사한 표기법을 사용하여 하나의 배열에서 하나의 요소를 추출할 수 있습니다.




console.log(`first ship is board[1][2]`)
// using the second brackets is how you access the columns in the row you identify

// "firstRow1" is accesing the first element in the first array


행렬 반복



행렬의 각 요소는 배열이므로 루프를 사용하여 각 행을 반복해야 합니다.




for (let i = 0, i < board.length; i++){
// a single row
let row = board[i];
// loop over each element
for( let = j, j < row.length; j++){
let column = row[j];
if (column === "s"){
console.log(`Ship is located at ${row} row and ${column} column`);}
}
// i used "i" and "j" to assign coordinates when the ship is located


회전



회전을 생성하려면 10번 반복되는 루프를 생성합니다.




for(let i = 0; i < 10; i++){}


무작위화



Randon Index, 임의의 제곱을 선택하기 위해 Math.random 함수를 사용할 수 있습니다.




for(let i = 0; i < 10; i++){}

function getRandomNum(){
return Math.floor(Math.random() * board.length);
// using "board.length creates the max number the generator can use
}
// Math.random will return a random number between 0 and 1 so we use" * 5 " to make it a whole number we can use

console.log(getRandomNum());
console.log(getRandomNum());
console.log(getRandomNum());
console.log(getRandomNum());


임의의 정사각형 선택하기



동일한 Math.random 함수를 사용하여 특정 사각형의 좌표를 표시하는 코드를 생성합니다.




for(let i = 0; i < 10; i++(){
let row = getRandomNum();
let column = getRandomNum();
console.log(`The box can be found at ${} row and ${} column`);
let randomSquare = board[row][column];
console.log(randomSquare);}
function getRandomNum(){
return Math.floor(Math.random() * 5)
}


보드 업데이트



명중하면 해당 사각형이 null이 되거나 빈 사각형이 됩니다.




for (var i = 0; i < 10; i++){
 var row = getRandomNum();
 var column = getRandomNum();

 var randomSquare = board[row][column];

 if (randomSquare === "S"){
   console.log(`Hit on ${row} row and ${column} column);
   board[row][column] = null;
 }
}

function getRandomNum(){
 return Math.floor(Math.random() * 5);
}


결론



이제 행렬을 만들고 행이나 열에 액세스하는 방법을 알게 되었습니다. Battleship 게임은 매트릭스의 빠르고 간단한 demnstratin입니다



출처



Iron Hack 문서 "고급 데이터 유형"

좋은 웹페이지 즐겨찾기