배열(Array) 개요

Jelkov Ahn·2021년 7월 30일
0

JS/NODE (배열-객체)

목록 보기
1/2
post-thumbnail
  • Achievement Goals
  • 배열 기초
    • 배열에서 사용되는 다음 용어에 대해 정확히 이해할 수 있다.
      • index, element, length
      • arr[0], push, pop
    • 배열에서 특정 인덱스(index)의 요소(element)를 조회하거나, 변경할 수 있다.
    • 배열의 요소가 배열인 이중 배열을 이해할 수 있다.
    • 이중 배열의 요소를 조회하거나 변경할 수 있다.
  • 배열의 반복
    • 배열의 요소를 반복적으로 불러오는 방법을 이해하고 사용할 수 있다.
    • 배열의 각 요소에 대하여, 반복하는 코드를 실행시킬 수 있다.
      • 기본적인 for 문 for (let i = 0; i < 5; i++) 을 응용하여 다양한 for문을 만들 수 있다.
      • 반복문에 조건문을 응용하여 특정 조건에서만 코드를 실행시킬 수 있다.
      • 이중 반복문이 무엇인지 이해하고 활용할 수 있다.
    • 배열과 반복문을 활용하여 실생활에서 접할 수 있는 간단한 문제를 해결할 수 있다.
    • 문자열과 배열의 타입 변환을 돕는 메소드를 알고 있다.
      • 띄어쓰기 (" ")로 문자열을 구분하여, 배열로 변경할 수 있다. str.split(" ").join(" ")
      • 문자열을 요소로 가지는 배열을 띄어쓰기 (" ")로 구분한 문자열로 변경할 수 있다.
  • 배열 기초 메소드
    • 배열 요소(element)를 조회할 수 있다. bracket notation
    • 배열을 복사, 분리하는 법을 이해할 수 있다. slice, splice
    • 변수, 데이터, 또는 특정 값이 배열인지 아닌지 판별할 수 있다. Array.isArray
    • 배열의 요소(element)를 추가 및 삭제할 수 있다. push, unshift, pop, shift
    • 배열의 길이를 구할 수 있다. length
    • 변수, 데이터, 또는 특정 값이 배열에 포함되어 있는지 확인할 수 있다. indexOf, includes

1. 배열은 무엇인가??

  • 배열은 순서가 있는 값이다

  • 순서는 index라고 부르며, 1이 아닌 0부터 번호를 매깁니다.

  • 대괄호(square bracket)을 이용해서 배열을 만들고, 각각의 원소(element)는 쉼표(comma)로 구분해 줍니다.

  • 값은 index를 이용해 접근해야 합니다.

    -> myNumber라는 배열의 3번째 index를 조회하려면// myNumber[3]; // 61

    -> myNumber라는 배열의 3번째 index를 변경하려면// myNumber[3]=200 //

  • 배열의 길이를 알아낼 수도 있다.

    -> myNumber.length; //4

  • 요소를 추가할 수 있다.

    -> myNumber.push(96);

  • 요소를 삭제할 수 있다.

    -> myNumber.pop();

  • 배열을 벗어나면 undefined다

myNumber[2]
98
myNumber[3]
undefined
  • 이중배열의 index값 구하기
let myNumber = [[13,30], [73,8], [44,17]]
myNumber[1]
//(2) [73, 8]
myNumber[1][0]
//73

2. 배열의 반복

  • 반복문을 이용해 배열의 요소를 한번씩 출력할 수 있다.
let myNum = [73, 98, 86, 61]
for(let i=0; i<myNum.length; i++){
console.log(myNum[i]);
}
73
98
86
61
  • 반복문을 이용해서 배열의 모든 엘리먼트를 더할수 있다.
let myNum = [10, 20, 40, 10];
for(let i=0; i<myNum.length; i++){
return sum = sum + myNum[i];
}

3.배열인지 아닌지 확인하기

  • typeof 메소드로 객체 배열을 알아낼수 없다.
let words = ['피','땀','눈물'];
typeof '문자열'
//"string"
typeof 123
//"number"
typeof words;
//"object"
typeof [1,2,3];
//"object"
let obj ={ a:1}
typeof obj;
//"object"
  • Array.isArray()로 배열이 맞는지 아닌지 boolean 값으로 알수 있다.
Array.isArray(words) 
//true
Array.isArray('문자열')
//false
Array.isArray([1,2,3])
//true

4.배열 요소 추가 삭제 하기

  • arr.push() 배열 맨 뒤에 엘리먼트를 추가한다.
let arr= [1, 2, 3]
//undefined
arr.push('호')
//4 (추가했을때 배열 엘리먼트의 갯수)
arr
//(4) [1, 2, 3, "호"]

  • arr.pop() 배열 맨 뒤에 엘리먼트를 삭제한다.
arr.pop()
//"호" (지운 엘리먼트의 내용)

  • arr.shift() 배열 맨 앞 엘리먼트를 삭제
arr.shift()
//1 (지운 엘리먼트의 내용)

  • arr.unshift('가') 배열 맨 앞에 엘리먼트를 추가
arr.unshift('가')
//3 (추가했을때 배열 엘리먼트의 갯수)

5.배열 요소 포함 여부 확인하기

  • (1) words라는 배열에 있는 원소의 인덱스를 찾으려면
let words= ['Radagast', 'the', 'Brown']
words.indexOf('Brown')
// 2
words.indexOf('the')
//1
words.indexOf('Radagast')
//0
  • (2) 없는 원소를 검색할 경우
words.indexOf('없다')
// -1
words.indexOf('Brown') !== -1
//true
words.indexOf('brown')
//-1(자바는 대소문자를 구분한다)
  • (3) 함수로 찾으려면
function hasElement(arr,element){
let ispresent = arr.indexOf(element) !==-1;
return isPresent;
}
hasElement(words,'Brown')
//true
  • (4) includes로 찾는법 (추천은 하지 않는다.)
    • includes는 explorer에서 작동이 되지 않는다.
words.includes('Brown')
//true
words.includes('brown')
//false

출처: 코드스테이츠

profile
끝까지 ... 가면 된다.

0개의 댓글