TIL 11일차

devTiana·2021년 5월 25일
0

Today I Learned

목록 보기
11/24
post-thumbnail

[JS/Node] 배열

배열 기초

  • 배열 : 순서가 있는 값(element)
  • 인덱스 : 배열의 순서. 0부터 순서를 매김
  • 대괄호(square bracket)를 이용해 배열을 만들고, 각각의 원소(element)는 쉼표(comma)로 구분해준다.
  • 인덱스를 이용해 값에 접근할 수 있다(조회) : myNumber[3];
  • 인덱스의 값을 변경할 수도 있다 : myNumber[3] = 200;

이중 배열에 접근하는 법

let myNumber = [[10, 12], [14, 20], [45, 30]];
myNumber = [1]  // [14, 20]
myNumber = [1][0]  // 73
// 대괄호를 중첩으로 사용해 배열 속 배열의 인덱스 조회가 가능함.(추가 중첩 및 조회도 가능)

배열로 할 수 있는 것

  1. 길이를 알아낼 수 있다.
let myNumber = [73, 98, 86, 62];
myNumber.length;  // 4  myNumber 배열의 길이를 출력
  1. 요소를 추가할 수 있다.
myNumber.push(96);  // 맨 뒤에 괄호 안 요소 추가
console.log(myNumber);  // [73, 98, 86, 62, 96]
  1. 요소를 삭제할 수 있다.
myNumber.pop();  // 마지막 요소를 삭제
console.log(myNumber);  // [73, 98, 86, 62]

배열 기초 메소드

typeof를 쓰면 배열이 할당된 변수, obj, [1, 2, 3] 모두 "object"라고 출력하기 때문에 구분이 어려움.
이때, 사용하는 것이 Array.isArray() 메소드이며, 불린값을 출력한다. 자바스크립트의 특정 값이 배열인지 아닌지 판별이 가능하다.

배열 요소 추가 및 삭제

  • console.table(array) : Console창에서 배열을 시각화하여 보여준다.
  1. 뒤에 element 추가 : array.push('thing')
  2. 뒤에 element 삭제 : array.pop()
  3. 앞의 element 추가 : array.unshift('blah')
  4. 앞의 element 삭제 : array.shift()

배열 요소 포함 여부 확인

let words = ['City', 'the', 'Blue'];
words.indexOf('the')  // 1  : 배열이 포함되어 있다면 몇번째 인덱스인지 출력한다.
words.indexOf('Blue') !== -1  // true  : Boolean 값으로 확인 가능

// 배열에 요소가 포함되어 있는지 여부를 검사하는 함수를 만들어 본다면?
function hasElement(arr. element){
  arr.indexOf(element) !== -1;
}

// 위와 같은 역할을 하는 내장함수
words.includes('the')  // true

includes는 인터넷 익스플로러와 호환이 안된다는 치명적인 단점이 있고, 존재 여부만 확인할 수 있다.
indexOf는 모든 브라우저와 호환이 되기 때문에 범용성이 더 넓고 인덱스 정보까지 얻어낼 수 있기 때문에 includes보단 indexOf가 더 많이 쓰인다.

profile
개발자

0개의 댓글