본문 바로가기

JAVASCRIPT

JAVASCRIPT ) 배열

배열은 단위값으로 취급되며 아래와 같은 형태를 가진다.

배열의 index값은 요소의 길이를 반환하는것이 아니다. offset 값이다. (.length 페이지에서 자세하게)

배열은 동형의 자료모임이고, 요소의 자료형이 다른 모임은 list이다. 하지만 자바스크립트에서는 이 모두를 배열이라 한다.

 

const array = ['a', 'b', 'c'];
	        ---  ---  ---
         index   0    1    2
        
alert(array[0]);	//a
alert(array[1]);	//b
alert(array[2]);	//c

 

 

배열은 1차원배열, 2차원배열, 3차원배열 등으로 표현할 수 있으며

문자(String)는 유사배열이기 때문에 아래와 같이 사용할 수 있다.

숫자형은 배열이 아니다.

 

const member = ['cemy', ['stormy', 'jhone'], 'windy'];

document.write(member[0] + "<br>");	   //cemy //1차원배열
document.write(member[1] + "<br>");	   //stormy
document.write(member[2][1] + "<br>");	   //i //2차원배열
document.write(member[1][0][4] + "<br>");  //m //3차원배열

 

const myA = [
    "ZARD",
    function(){ document.write("MY") },
    "LOVE"
];

document.write( myA[1] );	//function(){ document.write("MY") }
myA[1]();	//MY

 

 

unshift() : 앞에서 삽입

shift() : 앞에서 삭제

push() : 뒤에서 삽입

pop() : 뒤에서 삭제

concat() : 뒤에서 여러개 삽입

splice() : 중간에서 삽입과 삭제

 

const li = ['a', 'b', 'c', 'd', 'e'];
  
let a = li.push();
let b = li.pop();
alert(a);	 //5
alert(b);	 //e

 

const li = ['a', 'b', 'c', 'd', 'e'];
  
li.splice(2, 0, 'B'); //2몇번째 위치에서 0개를 삭제하고 B을 삽입
document.write(li);	//a,b,B,c,d,e

cnost li = ['a', 'b', 'c', 'd', 'e'];
  
li.splice(1, 2); //1몇번째 위치에서 2개를 삭제
document.write(li);	//a,d,e

 

sort() : 문자열을 순서대로 정렬 - 숫자아님

sort((a,b)=>{ return a-b })   ------ 숫자 오름차순

sort((a,b)=>{ return  a-b })   ------ 숫자 내림차순

 

reverse() : 반대로 정렬

 

 

배열 복사

let myV1 = [1004, 1005, 1006];
let myV2 = [];

for(let i=0; i<myV1.length; i++){
	myV2[i] = myV1[i];
}

myV1[1]++

document.write( String(myV1) + " / " + String(myV2) );
// 1004,1006,1006 / 1004,1005,1006

 

let myA2 = [...myA];

 

 

typeof 

자바스크립트는 typeof로 배열과 객체를 구분하지못한다.

그래서 배열인지를 확인하려면 isArray()를 사용해야한다.

 

const myA = [ 1004, 1005, 1006, 1007, 1008 ];
const myO = { zard: 2004, love: 2005, cdr: 2006 }

document.write( typeof myA );	//object
document.write( typeof myO );	//object

document.write( Array.isArray( myA ) );	//true
document.write( Array.isArray( myO ) );	//false

 

 

 

3차원 배열

let myA = [
    [
        [a1, a2, a3],
        [a4, a5, a6],
        [a7, a8, a9]
    ],
    [
        [b1, b2, b3],
        [b4, b5, b6],
        [b7, b8, b9]
    ],
    [
        [c1, c2, c3],
        [c4, c5, c6],
        [c7, c8, c9]
    ]
]

 

 

예제) 보정좌표 구하기 

let myA = [
    [
        [10, 20, 30],
        [70, 80, 90],
        [91, 92, 93]
    ],
    [
        [94, 95, 96],
        [70, 80, 90],
        [91, 92, 93]
    ],
    [
        [11, 12, 13],
        [70, 80, 90],
        [14, 15, 16]
    ]
];

const aa = (array,num) => {
    const floor = array.length;
    const [z,y,x] = num.split('');

    return array[floor-Number(z)][Number(y)-1][Number(x)-1];
}
console.log(aa(myA,'333'));
반응형

'JAVASCRIPT' 카테고리의 다른 글

JAVASCRIPT ) 진수 표현법  (0) 2024.07.09
JAVASCRIPT ) 객체  (0) 2024.07.08
JAVASCRIPT ) 함수  (1) 2024.07.03
JAVASCRIPT ) 반복문  (0) 2024.07.03
JAVASCRIPT ) if 조건문  (0) 2024.07.01