JS 배열 (array) - [Codestates] Section1
배열 기초
배열은 순서가 있는 값
인덱스(번호)와 요소(element)로 이루어진 값
let my NUmber =[ 73, 98, 86, 61, 96];
myNumber[3] // 3번째 인덱스 조회
// 값 변경
myNumber[3] =200; // 200으로 값 변경
let fruit= ['banana', 'apple','pineapple';]
fruit[2] // 'apple'
fruit[3] // undefined
2차원 배열 - 행렬과 비슷
method 메소드 종류 ( 온점을 이용한 명령 , 배열의 앞에X 뒤에 나옴 )
myNumber.length ; 배열 길이 반환
myNumber.push(96) ; 배열 끝에 요소(element) 삽입
myNumber.pop() ; 배열 마지막 값 삭제
배열의 반복
배열 메서드(method)
Array.isArray() ; 특정 값이 배열인지 아닌지 판별 input 아무거나 올 수 있음 , T/F 반환
arr.push() ; 마지막 요소(element) 추가
arr.pop() ; 마지막 요소 삭제
arr.shift() ; 첫 요소 삭제
arr.unshift() ; 첫 요소 추가
!!! 주의 !!!
push 뒤에 추가 / unshift 앞에 추가 / pop 앞에 제거 / shift 뒤에 제거
push(x) , unshift(x) -> 추가 -> 변경된 배열의 길이 리턴
pop(), shifft() -> 제거 -> 제거된 요소 리턴
arr.indexOf( ) ; 배열에 요소 어디 있는지 표시
-> 있으면 해당 인덱스 표시 , 없으면 -1표시
-> 있는지 없는지 검사하기 위해서는 -> .indexOf()가 '-1'인지 보면 됨
-> 유틸리티 함수도 만들 수 있음
arr.includes( ) ; 있는지 없는지 T/F로 표시
-> 하지만 .i,cludes 함수는 IE는 지원하지 않아서 호환성 문제가 있음
!!! Tip !!!
undefined + num = NaN ( Not a Number )
Mutable Method / Immutalble Method
Mutable Method -> 원본 배열 직접 변경함
pop() , push(), shift (), splice()
Immuble Method -> 원본 배열 직접 변경 안함
slice() concat()
.splice(num)
arr.splice(num)
num 이후 전부 제거해라
arr.splice(num1,num2)
num1 부터 num2 개 제거해라.
slice ()는 ctrl +c , ctrl +v 와 비슷하다.
-> 그래서 arr 은 변경되지 않은 것을 확인할 수 있다. 그래서 새로운 변수에 할당해서 사용할 수 있다.
https://www.daleseo.com/js-array-slice-splice/
자바스크립트 배열의 slice()와 splice() 함수
Engineering Blog by Dale Seo
www.daleseo.com
concat() ; 붙이기
for of문 ( 객체에서는 for in 사용 )
반복문의 모든 요소를 순회할 때 편리함
콘솔 debugger 사용하기
https://www.youtube.com/watch?v=2GhfkfcoFr4