[JS] 배열, 배열 메소드

GDORI·2024년 8월 9일
0

JavaScript

목록 보기
8/28

배열

  • 기본 생성
let num = [1, 2, 3];

배열의 기본 틀은 대괄호를 사용하며 요소를 쉼표로 구분한다.

  • 배열 크기지정
let num = new Array(3);

배열의 크기를 미리 정해서 생성할 수 있다.

  • 배열 접근
let num = [1, 2, 3];
console.log(num[0]); // 1
console.log(num[1]); // 2
console.log(num[2]); // 3

배열이 포함된 변수명을 적고 대괄호 안에 인덱스를 넣어 접근한다.
배열 인덱스는 0부터 시작한다.

배열 메소드

  • push()
let num = [1, 2, 3];
num.push(4);
console.log(num); // [1, 2, 3, 4]

push 메소드는 배열 끝에 요소를 추가하는데에 사용된다.

  • pop()
let num = [1, 2, 3];
num.pop();
console.log(num); // [1, 2]

pop 메소드는 배열 마지막 요소를 삭제한다.

  • shift()
let num = [1, 2, 3];
num.shift();
console.log(num); // [2, 3]

shift 메소드는 배열 첫 번째 요소를 삭제한다.

  • unshift()
let num = [1, 2, 3];
num.unshift(0);
console.log(num); // [0, 1, 2, 3]

unshift 메소드는 배열 맨 앞 요소에 추가한다.

  • splice()
let num = [1, 2, 3];
num.splice(1,1,7);
console.log(num); // [1, 7, 3]

splice 메소드는 빼고싶은 인자를 빼고 원하는 인자에 값을 넣을 수 있다.
배열명.splice(새로 넣을 위치, 새로 넣을 위치로부터 몇개의 인자를 뺄건지, 새로 넣을 인자값)

  • slice()
let num = [1, 2, 3];
let num2 = num.slice(1,2);
console.log(num2); // [2]

slice 메소드는 배열을 지정한 인자만큼 자를 수 있다.
slice(처음 인자, 끝인자)
여기서 중요한 것은 처음 인자가 1이고 끝인자가 2일때 1,2가 잘려 나오는 것이 아닌 1만 나오게 된다.
예로 처음인자가 1이고 끝인자가 4이면 1,2,3이 잘려서 출력된다는 것이다.

  • forEach()
let num = [1, 2, 3];
num.forEach(function(number){
	console.log(number); // 1\n 2\n 3\n
});

forEach는 배열의 요소를 하나하나씩 뽑아서 출력할 수 있다.
각 요소에 대하여 콜백함수를 실행한다.

let num = [1, 2, 3];
num.forEach(number=>console.log(number));// 1\n 2\n 3\n

전 게시글을 참고해보면 화살표 함수라는게 있다.
화살표 함수로 적용을 해보았다.

  • map()
let num = [1, 2, 3];
let newNum = num.map(number=>number*number);
console.log(newNum);//[1, 4, 9]

mapforEach 와 배열 인자를 콜백함수를 실행한다는 점에서 비슷하다.
다만 여기서 다른점은 map의 경우 출력된 콜백함수를 새로운 배열에 넣을 수 있다는 점이다.

  • filter()
let num = [1, 2, 3];
let newNum = num.filter(number=>number%2==0);
console.log(newNum);//[2]

filter 메소드는 주어진 조건에 true인 내용만 새로운 배열에 넣어준다.
검색 기능에 주로 쓰인다고 한다.

  • reduce()
let num = [1, 2, 3];
let newNum = num.reduce((sum, now) =>sum+now,0);
console.log(newNum);//6

reduce 메소드는 각 인자 값의 누적값을 구하고 싶을 때 많이 사용한다.
sum은 누적값, now는 현재 인자값, 0은 초기값이다.

  • find()
let num = [1, 2, 3];
let newNum = num.find(number =>number>1);
console.log(newNum);//2

find 메소드의 경우 지정한 조건에 부합되는 첫 번째 요소를 반환한다.

  • some()
let num = [1, 2, 3];
let newNum = num.some(number =>number%2==1);
console.log(newNum);//true

some 메소드의 경우 지정한 조건에 부합되는 요소가 하나라도 있으면 true를 반환한다.

이성과 썸탈때 특징 하나라도 겹치면 트루러브라고 생각하는 것처럼... ㅈㅅ;;

  • every()
let num = [1, 2, 3];
let newNum = num.every(number =>number%2==1);
console.log(newNum);//false

every 메소드의 경우 some과 달리 지정한 조건에 모두 부합하여야 true를 반환한다.

  • reverse()
let num = [1, 2, 3];
num.reverse();
console.log(num);// [3, 2, 1]

어유 힘들다..

profile
하루 최소 1시간이라도 공부하자..

0개의 댓글