순서가 있는 값
내부 값들은 요소라고 부른다 ( element )
순서를 부르는값은 인덱스라고 부른다 ( index )
시작은 0 번부터 한다.
[0] [1] [2] [3] // 방번호 ( 인덱스 )
73 98 86 61 // 내부에 닮긴 값들 ( 요소 )
인덱스를 이용해서 값에 접근 가능하다. (변경 가능)
let myNumber [73,98,86,61,96];
myNumber[3] = 200;
문자열과 크게 비교되는부분인거같다.
문자열은 인덱스로 접근해서 내부값을 변경할수없다.
배열은 인덱스로 접근해서 값 변경이 가능하다.
//
2차원배열 -> 행렬
3차원 고차원 가능하다.
myNumber.length;
온점(dot)을 이용해서 변수가 가지고 있는 속성(property)에 접근할 수 있다.
myNumber.push(96)
온점(dot)을 이용해서 관련된 명령(method라고 부릅니다)도 실행할 수 있다.
명령을 실행할 때는, 함수를 실행하듯 괄호르 열고 닫는 형태로 실행한다.
배열끝에 값을 추가한다.
마지막 값을 삭제한다.
let myNum = [73, 98, 86, 61];
for(let i=0; i< myNum.length ; i++){
console.log(myNum[i]);
}
막간에 신기한것 : undefined + 숫자 는 어떤값일까 ? 정답 : NaN
대부분은 typeof "문자열"
하면 값을 알려준다.
하지만
let words = ["피","땀","눈물"]
typeof words
object
라고 알려준다.
하지만 우리가아는 오브젝트는
let obj = {a:1}
이라서 마찬가지로 typeof찍어보면 오브젝트라고 알려준다..
그래서 두개가 구분이 안되는 상황이있는데
이때 사용하느것이
Array.isArray 라는 메소드 이다.
이 메서드는 배열 을넣으면 true값을 낸다.
아닐경우에 false를 낸다.
매번 콘솔로그만 썻지 콘솔테이블? 처음들어보는데.
배열,리스트,오브젝트 다될지는 모르겠는데
표를 표시해줌으로써 더 가독성좋게, 콘솔창에 찍어준다.
잘만쓰면 최고일꺼같다.
push , pop // 뒤쪽아이템추가 , 뒤쪽아이템삭제
shift , unshift // 앞쪽아이템삭제 , 앞쪽아이템추가
.indexOf(찾을엘리먼트);
배열의 엘리먼트가 들어있는곳의 인덱스를 리턴한다.
없는 단어의 경우 -1을 리턴한다.
.includes(찾을엘리먼트);
찾는 엘리먼트의 유무에 따라서 true/false를 리턴한다.
(includes는 호환성문제 때문에좀 걸러진다. 특히 IE에서 작동안할수있따.)