[ 05.25 ] 배열 [array]

[ Study Achievement Goals ]

배열 기초

  1. 배열 용어알기
  2. 배열 특정 인덱스 요소를 조회, 변경하기
  3. 이중배열 [배열의 요소 안에 배열이 있는것] 이해하기
  4. 이중배열의 요소 조회, 변경하기

배열의 반복

  1. 배열의 요소 반복적으로 불러오기 - 다양한 for 문 + 조건문, 이중반복문 응용
  2. 문자열과 배열의 타입변환 메소드 알기 (" ") ex-str.split(" ").join(" ")

배열 기초 메소드

  1. 배열요소 조회,추가,삭제,복사,분리 메소드
    => unshift, shift, slice, length
  2. 변수, 데이터 등 값의 배열 인지 및 판별 (Array.isArray)
  3. 배열요소 추가 및 삭제 메소드
    => push, pop

1. 배열 기초

배열이란 ?
배열의 각 값을 엘리먼트라고 부른다. 배열의 순서는 인덱스라는 용어를 쓰고 0부터 시작한다.
index 를 벗어나면 Undefinded 가 출력된다.
이중배열이란 ? 배열 안에 배열이 있는것으로 [[1,2],[3,4],[5,6]]
여기서 0번째 인덱스값은 [1,2] 이고, 0번째 인덱스값의 0번째 인덱스값은 1이다.
변수명[0][0] 으로 나타나지게 된다.
.을 이용하여 변수가 가지고있는 속성에 접근 가능.
빈 배열은 배열이 비어있다고 하더라도 하나의 공간을 차지하고 있기 때문에
[빈 배열] === [빈 배열] 은 성립할 수 없다. // false

2. 배열 반복

배열 또한 조건문, 반복문이 매우매우 많이쓰인다.
for(let i=0; i<str.length; i++){
if(str[i] == ''){~~}
}
라고 쓸 수도 있겠지만 다음과 같은 메소드를 이용해 한큐에 해결도 가능하다.

split(" ") / ("-") : 띄어쓰기 , 하이픈 기준으로 배열을 만들어준다.

문자열 배열로 타입변환하는 메소드 : split(" ")

ex) let words = 'this is the coding blog'
words.split(" ") // 5, ['this','is','the,'coding','blog'] 

<-> 반대의 개념이 join 메소드

let wordArray = ['this','is','the,'coding','blog']
wordArray.join() // 'this,is,the,coding,blog'
wordArray.join('') // 'thisisthecodingblog'
wordArray.join(-) // 'this-is-the-coding-blog'

3. 배열 기초 메소드

typeof obj :
문자열 : string, 숫자는 number 으로 나오는 것 처럼 배열은 obj 로 나타낸다.
Array.isArray() 인자가 배열형태인지 아닌지 불리언 타입으로 리턴해준다.

ex) words = ['가','나','다']
    Array.isArray(words) // true
    

.push() => 괄호안에 추가하고싶은 값을 넣고 마지막 인덱스에 추가
.pop() => 마지막 값을 삭제할 수 있다. 괄호안에는 안넣어줘도 됨.
.unshift() => 맨 앞에 인덱스 추가.
.shift() => 맨 앞에 인덱스 삭제.

unshift / shift 메소드 자체는 추가 및 삭제 시length 를 리턴하기 때문에 최종리턴은 변수명을 리턴해준다.

헷갈리는 메소드 :
arr.slice() 는 ? (immutable)
slice(시작,끝) array 자체에는 영향을 주지 않는다. 배열 자체를 복사할 때 사용하기도 함.

arr.splice() 는? (mutable)
array 의 추가, 변경 삭제
splice(제거시작할 인덱스, 제거할 엘리먼트 갯수, 추가할 엘리먼트)

let arr = ['apple','is']
arr.push('good') // 맨 마지막에 good 추가.
arr.pop() // 방금 맨 마지막에 추가된 good 삭제
앞쪽에 추가하려면 
arr.unshift('an') // ['an','apple','is','good'] 
arr.shift() // 맨 앞의 an 삭제

배열을 수정하지않는 추가메소드 (Immutable method)
immutable 메소드 중 하나로, concat() 을 들 수 있다. concat또한 push처럼 배열 및 값을 추가하는점에서 비슷하나, 변하지 않는 성질을 가지고 있다.
-mdn 참조 ㅎ

*콘솔에서 배열을 확인 할 때
console.table 로 확인하면 더 명확하게 보기 쉽다.

좋은 웹페이지 즐겨찾기