// 배열 확인 1
document.getElementById('btn1').addEventListener('click',function(){
// 배열 선언 방법 1
const arr1 = new Array(3); // 3칸짜리 배열 생성
const arr2 = new Array(); // 0칸짜리 배열(비어있는 배열) 생성
// 다른 자료형 대입 가능
arr1[0] = "라자냐";
arr1[1] = 19800;
arr1[2] = true;
console.log(arr1); // 결과: 이미지 1번
// 0칸 배열에 대입 -> 배열 길이 자동 증가
arr2[0] = "라자냐";
arr2[1] = 19800;
arr2[2] = true;
console.log(arr2); // 결과: 이미지 2번
// 배열 선언 방법 2
const arr3 = []; // 비어있는 배열(0칸)
const arr4 = ["딸기", "오렌지", "블루베리"]; // 선언 및 초기화
// for문으로 배열 요소 반복 접근하기
// 1. 일반 for문
// 2. 향상된 for문(for ... of) : 배열용 향상된 for문
for(let fruit of arr4){
console.log(fruit); // 결과: 이미지 3번
}
})
1번2번3번
배열 관련 함수 - (Stack 구조 관련 함수) [ first in - last out ] - push( ) : 배열의 마지막 요소로 추가 - pop( ) : 배열의 마지막 요소를 꺼내옴
- 배열.indexOf("값") : 일치하는 값을 가진 요소의 index를 반환 / 없으면 -1 반환 - 배열.sort( [ 정렬기준함수 ] ) : 배열 내 요소를 오름차순 정렬(문자열) ※ 단, [정렬기준함수]가 작성되면 정렬 결과가 달라짐 - 배열.toString( ) : 배열 요소를 하나의 문자열로 출력 → 요소 사이에 "," 추가 - 배열.join("구분자") : 배열 요소를 하나의 문자열로 출력 → 요소 사이에 "구분자" 추가
// 배열 확인 2
document.getElementById('btn2').addEventListener('click', function(){
// 비어있는 배열 생성
const arr = [];
// 1) push() : 배열의 마지막 요소로 추가
arr.push("미나리 삼겹살");
arr.push("초밥");
arr.push("곱창");
arr.push("갈비1");
arr.push("냉면");
console.log(arr); // 결과 : 이미지 1번
// 2) pop() : 배열의 마지막 요소를 꺼내옴
console.log("꺼내온 요소 : " + arr.pop()); // 꺼내온 요소 : 냉면
console.log(arr); // 결과 : 이미지 2번
// 3) 배열.indexOf("값") : 일치하는 값을 가진 요소의 index 반환 / 없으면 -1 반환
console.log("초밥 인덱스 : " + arr.indexOf("초밥")); // 1
console.log("갈비 인덱스 : " + arr.indexOf("갈비")); // -1
// 4) 배열.sort([정렬기준 함수]) : 배열 내 요소를 오름차순 정렬(문자열)
const arr2 = [5, 3, 7, 4, 10, 1];
console.log(arr.sort()); // [갈비1, 곱창, 미나리삼겹살, 초밥] (문자열)
console.log(arr2.sort()); // [1, 10, 3, 4, 5, 7]
// 숫자 -> 정상적으로 정렬되지 않음
// 왜? 문자열 정렬 기준이 기본값
// (문자열로 변환되서 정렬됨)
// 4-1) 숫자 오름차순 정렬(sort 메소드와 비교함수 사용)
console.log(arr2.sort(function(a,b){return a-b;})); // [1, 3, 4, 5, 7, 10]
// 5) 배열.toString() : 배열 요소를 하나의 문자열로 출력( -> 요소 사이에 "," 추가)
console.log(arr.toString()); // 갈비1, 곱창, 미나리삼겹살, 초밥
// 배열.join("구분자") : 배열 요소를 하나의 문자열로 출력(-> 요소 사이에 "구분자" 추가)
console.log(arr.join(" / ")); // 갈비1 / 곱창 / 미나리삼겹살 / 초밥
})