• 회원가입
  • 로그인
  • 구글아이디로 로그인

[Array] JS - filter() 메서드 - 함수조건충족 배열값 구하기 (= filter메서드 = 필터메서드) ※ 배열 차집합 ※ 사용자정의필터함수 통과한 배열요소 얻기

목차

  1. array.filter() 예제 - 지정 숫자보다 크거나 같은 값만 얻기
  2. array.filter() 정의
  3. array.filter() 구문
  4. array.filter() 예제 - 임의의 지정한 숫자보다 큰 값만 얻기
  5. array.filter() 예제 - 배열 차집합 (= 고유한 배열 요소 구하기)
  6. array.filter() 예제 - (undefined/null/빈공백) 필터링

 

array.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

 

array.filter() 정의

 

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

 


 

1.

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

 

2. cf.

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

 

3.

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

 

4.

MDN filter() 예제 더 보기

 

 

array.filter() 구문

 

array.filter(function(value, key, arr), thisValue)

 


[매개변수]

 

function(value, key, arr)

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

  • value - 필수. 현재요소의 배열값
  • key - 선택. 현재요소의 배열키
  • arr - 선택. 현재요소가 속한 배열

 

thisValue

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

 


[반환값]

 

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

 

 

array.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>

 

결과보기

 

array.filter() 예제 - 배열 차집합 (= 고유한 배열 요소 구하기)

 

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


<script>

let a = ['a','b','c',1,2,3]

let b =  ['a','b','c',1,2,3,4,5]


b = b.filter(x => !a.includes(x)); // b배열에서 a배열 제외


// document.write(b); // 4,5


b.forEach(homzzang);


function homzzang(item, index) {

  document.getElementById("demo").innerHTML += index + ". " + item + " / "; 

}

</script>

 

결과값: 0. 4 / 1. 5 /

아르키어드 (220728) https://sir.kr/qa/468645

 

array.filter() 예제 - (undefined/null/빈공백) 필터링

※ filter() 예제 - 엔터키로 줄바꿈 된 문자열 한 줄씩 가져오기

 

<div id="hz">

    홈짱닷컴

    Homzzang.com

    그누보드/영카트 강의

</div>


<script>

var str = document.querySelector('#hz').textContent.split('\n').filter((elem) => {  return elem !== undefined && elem !== null && elem !== '' } )

console.log(str[0]); // 홈짱닷컴

console.log(str[1]); // Homzzang.com

</script>

 

Phillips 님 (230104) https://sir.kr/qa/485390

방문 감사합니다. (즐겨찾기 등록: Ctrl + D)

분류 제목
Array JS - constructor 속성(배열) - 배열 프로토타입 생성하는 함수를 반환. (constructor…
Array JS - length 속성 - 배열길이 (= 배열개수 = 배열값개수 = 배열요소개수 = length속성 = …
Array JS - Array.prototype 속성(배열) - 사용자정의 속성/메서드 추가 (= Array.proto…
Array JS - concat() 메서드 - 배열결합 (= 배열합치기 = concat메서드 = 컨캣메서드/컨켓메서드)
Array JS - copyWithin() 메서드 - 배열내 배열값 복사하기 (= copyWithin메서드 = 카피위딘…
Array JS - every() 메서드 - 모든배열값 함수충족여부 체크 (= every메서드 = 에브리메서드) ※ 모…
Array JS - fill() 메서드 - 배열값변경 (= 배열값교체 = 배열값바꾸기 = fill메서드 = 필메서드) …
Array JS - filter() 메서드 - 함수조건충족 배열값 구하기 (= filter메서드 = 필터메서드) ※ 배…
Array JS - find() 메서드 - 맨처음 조건 충족한 배열값 찾기 (= find메서드 = 파인드메서드)
Array JS - findIndex() 메서드 - 맨처음 조건 충족/일치 배열값 색인번호 찾기 (= findIndex…
Array JS - forEach() 메서드 ★★ - 각각의 배열값(=배열요소)에 대해 한번씩 함수실행 (= forEa…
Array JS - indexOf() 메서드(배열) ★ - 처음 일치 배열값 위치 찾기 (= 배열값 포함 검사 = 배열…
Array JS - Array.isArray() 메서드 - 배열여부체크 (= 배열인지판단 = Array.isArray메…
Array JS - join() 메서드 - 배열을 문자열로 전환. (= join메서드 = 조인메서드) : 구분자 O
Array JS - lastIndexOf() 메서드(배열) ★ - 마지막일치배열값위치찾기 (= 배열값포함검사 = 마지막…
Array JS - map() 메서드 ★ - 함수 적용 결과값으로 배열 생성 (= map메서드 = 맵메서드)
Array JS - pop() 메서드 ★ - 배열의 마지막 요소 제거 (= 마지막 배열값 없애기 = pop메서드 = 팝…
Array JS - push() 메서드 ★ - 배열 뒤에(=끝에) 배열요소 추가 후, 배열길이(=배열요소개수) 반환 (…
Array JS - reduce() 메서드 ★ - 왼쪽 배열값부터 계산 (= reduce메서드 = 리듀스메서드) ※ 각…
Array JS - reduceRight() 메서드 - 오른쪽배열값부터 계산 (= reduceRight메서드 = 리듀스…
14/67
목록
찾아주셔서 감사합니다. Since 2012