Array method
유용한 배열의 7가지
메소드에 대해 설명드리겠습니다.
every
배열의 every
method
는 배열의 모든 원소를 반복하여 하나라도 조건이 맞지 않는다면 즉시 반복을 멈추고 false
를 반환합니다. 모든 조건에 맞아야만 true
를 반환합니다.
1 | const randomNums = [2, 4, 5, 6, 8, 10]; |
위 코드처럼 홀수인지 체크하는 함수를 every
method
내에서 사용한다면 randomNums
배열은 중간에 홀수인 숫자가 포함되어있기 때문에 3번의 반복 후 바로 false
를 반환하고 반복이 종료됩니다. 하지만 evenNums
배열은 모든 요소가 짝수로 이루어져있기 때문에 끝까지 반복 후 true
를 반환합니다.
filter
배열의 filter
method
는 배열의 모든 요소를 반복하면서 조건에 맞는 요소는 남기고 조건에 맞지 않는 요소는 없애 배열을 반환합니다.
1 | const orderNums = [1, 2, 3, 4, 5, 6, 7, 8]; |
위 코드처럼 짝수만으로 이루어진 배열을 만드려면 짝수인지 체크 후 새로운 변수에 담으면 evenNums
과 같이 짝수 배열을 반환합니다.
find
배열의 find
method
는 배열의 요소를 반복하면서 조건에 맞는 첫번째 요소의 값만 반환합니다.
1 | const randomNums = [2, 9, 20, 40, 27]; |
위 코드를 보면 randomNums
배열에서 20
보다 큰 수를 순서대로 반복하며 체크 후 조건에 맞는 40
을 반환합니다. 40
이 20보다 큰 첫번째 요소이기 때문에 40
을 반환하고 반복은 바로 종료됩니다. 만약 배열의 모든 요소가 조건에 맞지 않는다면 undefined
를 반환합니다.
findIndex
배열의 findIndex
method
는 배열의 요소를 반복하면서 조건에 만족하는 첫번째 요소의 index
를 즉시 반환 후 반복은 종료됩니다. 모든 배열의 요소가 조건에 만족하지 않는다면 -1
을 반환합니다.
1 | const randomNums = [2, 9, 20, 40, 27]; |
위 코드를 보면 20
과 같은 수는 2번째
index
에 존재하여 2
를 반환하지만 5
와 같은수는 존재하지 않기때문에 -1
을 반환합니다.
forEach
배열의 forEach
method
는 배열의 모든 요소를 반복합니다. 모든 요소를 반복하지만 아무것도 반환하지 않기때문에 단순 반복용으로 사용합니다.
1 | const greetings = ["안녕하세요.", "Good morning.", "Guten Morgen", "おはようございます", "早上好"]; |
forEach
는 배열 내 모든 요소를 반복하지만 undefined
를 반환합니다. 만약 모든 배열을 순회해야 하지만 배열을 변경해야하지 않는다면 forEach
함수를 사용하면 좋습니다.
map
배열의 map
method
는 배열의 모든 각각의 요소에 대해 호출한 결과 값을 배열로 반환합니다.
1 | const peoples = [ |
위 코드와 같이 age
만 배열에 추가 할 수 있습니다.
some
배열의 some
method
는 배열의 요소 중 주어진 조건에 하나라도 맞으면 반복이 종료되고 true
를 반환합니다. 모든 배열의 요소들이 조건에 충족하지 않는다면 false
를 반환합니다.
1 | const peoples = [ |
위 코드에서 사람들의 나이가 30이상
인 사람은 1번째
인덱스
에 존재하여 반복이 종료되고 true
를 반환하지만 35이상
인 사람은 존재하지 않기때문에 모든 배열을 반복한 후 false
를 반환합니다.