• Q&A
  • 회원가입
  • 로그인

[Array] JS - filter() 메서드 - 함수조건충족 배열값 구하기 (= filter메서드 = 필터 메서드)

503  

목차

  1. filter() 예제 - 지정 숫자보다 크거나 같은 값만 얻기
  2. filter() 정의
  3. filter() 구문
  4. filter() 예제 - 임의의 지정한 숫자보다 큰 값만 얻기

 

filter() 예제 - 지정 숫자보다 크거나 같은 값만 얻기

 

<button onclick="homzzang()">클릭</button>


<p id="demo"></p>


<script>

var nums = [5, 10, 15, 20];


function checkNum(num) {

  return num >= 10;

}


function homzzang() {

  document.getElementById("demo").innerHTML = nums.filter(checkNum);

}

</script>

 

결과보기

결과값: 10,15,20

 

filter() 정의

 

지정 함수 테스트 통과한 요소로 구성된 새 배열 생성.

 


 

1.

  • 빈 요소에 대해선 함수 실행 X
  • 원래 배열을 변경 X

 

2. cf.

  • array.map() 메서드 - 모든 배열 요소에 대해 함수 실행 후 새 배열 생성.
  • array.foreach() 메서드 - 빈 배열 요소 제외한 각 요소에 대해 함수 실행.

 

3.

IE9 이상 주요 최신 브라우저 모두 지원.

 

4.

MDN filter() 예제 더 보기

 

 

filter() 구문

 

array.filter(function(currentValue, index, arr), thisValue)

 


[매개변수]

 

function

필수. 각각의 배열값에 대해 실행할 함수

  • currentValue - 필수. 현재 요소의 값
  • index - 선택. 현재 요소의 색인번호
  • arr - 선택. 현재 요소의 배열

 

thisValue

선택. 함수에 this 값으로 전달된 값. (기본값: undefined)

 


[반환값]

 

  • 테스트를 통과한 요소로 구성된 배열 반환.
  • 테스트 통과한 요소가 없으면 빈 배열 반환.

 

 

filter() 예제 - 임의의 지정한 숫자보다 큰 값만 얻기

 

<input type="number" id="hz" value="25">

<button onclick="homzzang()">확인</button>


<p id="demo"></p>


<script>

const nums = [10, 20, 30, 40];


function checkNum(num) {

  return num > document.getElementById("hz").value;

}


function homzzang() {

  document.getElementById("demo").innerHTML = nums.filter(checkNum);

}

</script>

 

결과보기



찾아주셔서 감사합니다. Since 2012