배열은 단위값으로 취급되며 아래와 같은 형태를 가진다.
배열의 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 |