>  기사  >  웹 프론트엔드  >  es6 필터 메소드의 매개변수는 무엇입니까?

es6 필터 메소드의 매개변수는 무엇입니까?

青灯夜游
青灯夜游원래의
2022-05-05 16:52:512835검색

필터 메서드는 두 가지 매개 변수를 허용합니다. 1. 생략할 수 없는 콜백 함수는 배열 요소를 필터링하고 조건을 충족하는 배열 요소를 반환하는 조건을 설정하는 데 사용됩니다. 구문은 "함수(현재 값, 현재 인덱스, 배열 객체) { ...}"; 2. 콜백 함수에서 this 키워드를 사용하여 객체가 될 수 있는 선택적 매개변수입니다.

es6 필터 메소드의 매개변수는 무엇입니까?

이 튜토리얼의 운영 환경: Windows 7 시스템, ECMAScript 버전 6, Dell G3 컴퓨터.

filter() 메서드는 새 배열을 생성하고 새 배열의 요소에서 조건을 충족하는 지정된 배열의 모든 요소를 ​​확인합니다.

간단히 말하면: filter() 메서드는 지정된 조건을 충족하는 배열의 요소를 반환할 수 있습니다.

filter() 메소드는 두 개의 매개변수를 허용합니다:

array.filter(callbackfn[, thisArg]);
  • callbackfn: 콜백 함수, 생략할 수 없음, 배열 요소를 필터링하기 위한 조건을 설정하는 데 사용, 최대 3개의 매개변수 허용, 구문:

    function(currentValue, index,arr)
    • currentValue 필요 . 현재 요소

    • index의 값은 선택 사항입니다. 현재 요소의 인덱스 값

    • arr 선택 사항입니다. 현재 요소가 속한 배열 개체

    배열의 각 요소에 대해 필터 메서드는 callbackfn 함수를 한 번 호출합니다.

  • thisArg: 선택적 매개변수, callbackfn 함수에서 this 키워드와 함께 사용할 수 있는 개체입니다. thisArg를 생략하면 정의되지 않은 값이 this 값으로 사용됩니다.

반환 값은 콜백 함수가 true를 반환하는 모든 값을 포함하는 새로운 배열입니다. 콜백 함수가 array 의 모든 요소에 대해 false를 반환하는 경우 새 배열의 길이는 0입니다.

배열의 각 요소에 대해 필터 메소드는 callbackfn 함수를 한 번(오름차순 인덱스 순서로) 호출합니다. 이 콜백 함수는 배열에서 누락된 요소에 대해 호출되지 않습니다. 콜백 함수의 사용법은 맵과 동일합니다.

배열 객체 외에도 숫자로 색인화된 속성 이름이 있는 길이 속성을 가진 모든 객체에서 필터 메서드를 사용할 수 있습니다.

예제 1: 배열에서 소수 필터링

var a = [31,33,35,37,39,41,43,45,57,49,51,53];
var a1 = a.filter(function(value, index, ar) {
    high = Math.floor(Math.sqrt(value)) + 1;
    for (var div = 2; div <= high; div ++) {
        if (value % div == 0) {
            return false;
        }
	}	
    return true;
}
);
console.log(a1);//31,37,41,43,53
</script>

es6 필터 메소드의 매개변수는 무엇입니까?

예제 2: 배열에서 지정된 범위를 벗어나는 요소 필터링

var f = function (value) {
	if (typeof value !== &#39;number&#39;){
		return false;
	} else {
		return value >= this.min && value <= this.max;
	}
}
var a = [6, 12, "15", 16, "the", -12];
var obj = {min : 10, max : 20};
var r = a.filter(f, obj);
console.log(r);  //12,16

es6 필터 메소드의 매개변수는 무엇입니까?

[관련 권장 사항: 자바스크립트 비디오 튜토리얼, 웹 프론트엔드

위 내용은 es6 필터 메소드의 매개변수는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.