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]
map
은 forEach
와 배열 인자를 콜백함수를 실행한다는 점에서 비슷하다.
다만 여기서 다른점은 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]
어유 힘들다..