오늘 뭐했냐/개발에 대한 주저리
배열(콜백함수x)
스스로에게
2023. 5. 23. 20:45
- 데이터를 순서(인덱스)를 가지고 나열해 놓은 것
- 객체와의 차이점 : 객체는 key로 접근하고 배열을 인덱스 통해 접근한다
// 1. 생성
// 1-1. 기본 생성
let fruirs = ["사과", "바나나", "오렌지"];
console.log(fruirs);
console.log(fruirs.length);
// 1-2 크기 지정
let number = new Array(5);
console.log(number.length);
// 2. 요소 접근
// index : 몇 번째에 있냐 (0부터 시작) -> 변수로 대체 가능
console.log(fruirs[0]);
console.log(fruirs[1]);
console.log(fruirs[2]);
// 3. 배열 메소드
// 원본 배열을 바꾸는 메소드
// 3-1. push : 배열 마지막 어떤 요소 추가
console.log("push 전 =", fruirs);
fruirs.push("키위");
console.log("push 후 =", fruirs);
// 3-2. pop : 배열 마지막 요소 추가
console.log("pop 전 =", fruirs);
fruirs.pop();
console.log("pop 후 =", fruirs);
// 3-3. shift : 배열의 첫번째 요소 제거
console.log("shift 전 =", fruirs);
fruirs.shift();
console.log("shift 후 =", fruirs);
// 3-4. unshift : 배열의 첫번째에 어떤 요소 추가
console.log("unshift 전 =", fruirs);
fruirs.unshift("사과");
console.log("unshift 후 =", fruirs);
// 3-5. splice(x, y, z) : 인덱스 x부터 시작해서 y개만큼 지우고 z를 대체해줘
console.log("splice 전 =", fruirs);
fruirs.splice(1, 1, "포도");
//인덱스 1번(여기선 바나나)부터 1개를 지우고 그 자리에 "포도"를 대체한다
console.log("splice 후 =", fruirs);
console.log("-----------------------")
// 원본 배열을 바꾸지 않는 메소드
// 3-6. slice(x,y)
//: 인덱스 x부터 인덱스 y전까지만 잘라서 새로운 배열은 만들어 반환한다
let sliceFruirs = fruirs.slice(1, 2)
console.log("slice 전 =", fruirs);
console.log(sliceFruirs);
console.log("slice 후 =", fruirs);
//새로운 배열을 만드는 것으로 원본 배열을 바꾸진 않는다
원본 배열을 바꾸는 것과 바꾸지 않는 것을 구분하는게 중요해 보인다