1 분 소요

배열이란?🍍

배열(array)은 같은 타입의 변수들로 이루어진 유한 집합으로 정의됩니다.

배열을 구성하는 각각의 값을 배열 요소(element)라고 하며, 배열에서의 위치를 가리키는 숫자는 인덱스(index)라고 합니다.

C언어에서 인덱스는 언제나 0부터 시작하며, 0을 포함한 양의 정수만을 가질 수 있습니다.


let arr = ['a', 'b',500,'good'] // 배열선언

arr[0] = 'change' // 0번째 인덱스 변경

console.log(arr) // ['change', 'b', 500, 'good']

각 인덱스를 변경할 수 있다.


let arr = ['a', 'b',500,'good'] // 배열선언

arr.push('add'); // 마지막에 add를 추가

console.log(arr) // [ 'add', 'b', 500, 'good', 'add' ]

push를 통해 맨 뒤에 원하는것을 추가시킬 수 있다.


let arr = ['a', 'b',500,'good'] // 배열선언

arr.pop();    //맨뒤 인덱스 삭제
arr.shift();  //맨앞 인덱스 삭제

console.log(arr); // ['b', 500]

pop()은 맨뒤의 인덱스를 삭제, shift()는 맨앞의 인덱스를 삭제시킨다.


let arr3 = [4,5,6,1,2,3,4,5,6,3,2,1,2,3,5,3,3,4,1,'마지막'] // 길이가  배열생성

console.log(arr3[arr3.length - 1]); // '마지막'

length를 배열에 활용하여 간단하게 마지막 인덱스 출력하기


let shoppingCart = ['햄', '김밥김', '단무지', '우유', '시금치', '쌀', '당근', '계란']; // 배열생성

let show = shoppingCart.splice(3,2,'두유');

console.log(show); // ['햄', '김밥김', '단무지', '두유', '쌀', '당근', '계란']

splice(시작할위치,어디까지삭제,무엇으로) 을 통해 해당 ‘우유’, ‘시금치’를삭제시키고 그곳곳을 ‘두유’로 대체시켰다.

let basket = [['양파','곰팡이'],['곰팡이','빵','딸기잼'],['귤','곰팡이','사과']];

function removeGerm(arr) {

    for(let i=0;i<arr.length;i++){
      for(let j=0;j<arr[i].length;j++){
        if(arr[i][j]==='곰팡이'){
          arr[i].splice(j,1);
        }
      }
    }

  return arr;
}

splice활용하기


let fruits = ['apple', 'banana', 'grapes', 'mango', 'orange'];

console.log( fruits.filter( (arg) => arg.includes('ap') ) )

// ['apple', 'grapes']

filter의 인자로 함수를 주어 ‘ap’가 들어간 인덱스찾기

let courses = [
{level:'easy', subject: "English" },
{level:'hard', subject: "Mathmatic" },
{level:'medium', subject: "Literature" },
{level:'hard', subject: "Science" },
{level:'medium', subject: "Socialogy" }
];

console.log( courses.filter((a) => a.level.includes('hard')) )

//[
  { level: 'hard', subject: 'Mathmatic' },
  { level: 'hard', subject: 'Science' }
]

filter의 2번째 예시


let pasta = ['tomato', 'basil', 'onion','chicken'];
let pizza = ['tomato', 'cheese', 'onion','olive','beef'];

let a = pasta.concat(pizza);

a.filter( (val,index,target) => target.indexOf(val) === index);
//[ 'tomato', 'basil', 'onion', 'chicken', 'cheese', 'olive', 'beef' ]

concat 활용하기

filter(요소,인덱스,어떤것을?) a를 target으로 indexOf(val) 각 요소들의 첫번째 위치를 알아내어 그것이 올바른 위치에 있는지 비교하여 올바른것들만 반환.

let num = [[11, 12, 13], [14, 15, 16], [17, 18, 19]];

console.log( num[0].concat(num[1],num[2]) );
//[ 11, 12, 13, 14, 15, 16, 17, 18, 19 ]

concat 활용하기2


업데이트: