📍 forEach
배열을 반복하는 함수이다. for문을 간단하게 사용하는 느낌쓰let a = [1,2,3,4,5]; for(let i=0;i<a.length;i++) { console.log(a[i]); // 출력 : 1,2,3,4,5 }
for문을 이용하여 출력하면 이런식으로 한다. 이것을 forEach로 변환 하면... !!
let a = [1,2,3,4,5]; a.forEach(function(s) { console.log(s); // 출력 : 1,2,3,4,5 })
📍 filter
조건에 대해 true인 값들을 새롭게 모아 리턴하는 메소드 이다.let a = [1,2,3,4,5]; a.filter(function(el){ rueturn el % 2 === 0 }) //[2,4]
filter을 사용하면 배열을 순회 하면서 조건에 대해 참이 값들을 배열에 담아 리턴한다.
2로 나누어 0이라는 소리는 짝수를 말한다. 그래서 [2,4]가 리턴된다.
📌 Map
Map은 들어오는 모든 요소를 조건에 맞게 변환한뒤 새로운 배열에 모두 담아 리턴한다.let a = [1,2,3,4,5]; a.map(function(el){ return el * 2; }) //[2,4,6,8,10]
📌 reduce
배열의 각요소들을 각각 순회하며 실행하고 결과값 하나만 리턴한다.
accumulator : 누적 되는 매개 변수
currentValue : 현재 순환하는 인덱스의 값
array : 호출한 배열let array = [1,2,3,4,5]; array.reduce(function(acc,cur){ rueturn acc + cur ; },0) //15
acc는 초기값 0으로 설정 하고 cur은 array을 순회하며 값을 하나씩 가져온다.
📌 splice
제거한 요소를 담은 배열을 리턴한다. 하나의 요소만 제거한 경우 길이가 1인 배열을 반환 하고, 아무값도 제거하지 않으면 빈배열을 반환 한다.
array.splice(star,deleteCount,item,item2...)//하나도 제거 하지 않고 2번 인덱스에 'a' 추가 let a = [1,2,3,4,5]; a.splice(2,0,'a') //[1,2,'a',3,4,5] //3번 인덱스에서 한개 요소 제거 let a = [1,2,3,4,5]; a.splice(3,1); //[1,2,3,5] //2번 인덱스 한개 제거하고 거기에 'a','b' 추가 하기 let a = [1,2,3,4,5]; a.splice(2,1,'a','b'); //[1,2,'a','b',4,5] //0번 인덱스에서 2개 요소 제거 하고 'a','b','c'추가 let = [1,2,3,4,5]; a.splice(0,2,'a','b','c'); //['a','b','c',3,4,5] //-2인덱스에서 한개 요소 제거 let a= [1,2,3,4,5]; a.splice(-2,1); //[1,2,3,5] //2번 인덱스 포함 뒤에 다 제거 let a = [1,2,3,4,5]; a.splice(2); //[1,2]
📌 slice
배열의 지정시작부터 지정끝 까지 복사하여 값을 담아 리턴한다. 원본은 바뀌지 않음
array.slice(begin,end)
begin : 인덱스 시작을 나타낸다
- 음수일 경우 예를들어 slice(-2)인경우 뒤에서 두개의 요소를 말한다.
- underfind 인경우 0부터 시작한다.
- 배열의 길이보다도 큰 값이 오면 빈배열 리턴 한다.
end : end-1인덱스 까지를 범위로 한다.- 음수는 배열의 끝에서부터 길이를 나타낸다. -0,-1,-2...순으로 계산
- end가 생략된 slice()인경우 배열 전체를 추출한다.
- end의 값이 배열의 길이보다 긴경우 배열 전체를 출력한다.
let a = [1,2,3,4,5]; a.slice(1,3) //[2,3]
📌 shift,unshift,pop,push
예전에 올린 게시물을 확인 하면 될꺼 같습니당 !
배열보러가기
📌 indexOf
배열에서 원하는 요소의 인덱스 값을 알려준다.let a = [1,2,3,4,5]; a.indexOf(2); //1
📌 join
배열의 요소들을 합쳐서 문자열로 반환 해줄때 사용한다.
각요소 사이 원하는것으로 구분을 둘수도 있고 생략 하면 ,(콤마)로 합쳐지고 ''(공백)으로 하면 모든 요소들이 합쳐진 상태로 리턴한다.let a =[1,2,3,4,5]; a.join('') //12345 a.join() //1,2,3,4,5 a.join('*') //1*2*3*4*5
📌 concat
여러 배열의 요소들을 하나의 배열에 담아서 리턴한다.let a = [1,2,3,4,5]; let b = [6,7,8,9,10]; let c = ['a','b','c']; a.concat(b); //[1,2,3,4,5,6,7,8,9,10] a.concat(b,c); //[1,2,3,4,5,6,7,8,9,10,'a','b','c'] a.concat(1,[2,3]) //[1,2,3,4,5,1,2,3]
📌 include
배열에 특정요소를 포함하고 있는지 판별한다.
array.include(valueToFind,fromIndex)[1, 2, 3].includes(2); // true [1, 2, 3].includes(3, 3); // false //4자리부터 3이 있는지 [1, 2, 3].includes(3, -1); // true //음수일땐 뒤에서부터 첫번째 자리 let arr = ['a', 'b', 'c']; arr.includes('c', 3); // false //탐색자리가 배열길이보다 길면 false arr.includes('c', 100); // false