JavaScript 배열 메서드 - 필터링
5058 단어 beginnersjavascriptwebdev
Array.prototype.filter()
나는 또 다른 유용하고 매우 일반적인 JavaScript(JS) 배열 방법에 대해 다시 작성하고 있으며 이것은 주석에 표시된 것과 정확히 일치합니다. 필터링합니다. 배열에 저장된 정보가 있고 특정 조건을 충족하는 특정 항목을 선택(또는 제외)하려는 경우
.filter()
가 친구입니다..filter() 사용 방법
.map()
, .filter()
와 마찬가지로 원래 배열을 변경(변경)하지 않고 필터링된 모든 값으로 새 배열을 만듭니다. 필터 메소드는 함수를 인수로 받아들이고, 앞서 언급한 바와 같이 이를 콜백 함수(또는 콜백)라고도 합니다. 콜백 함수는 true
또는 false
*의 반환 값을 가져야 합니다. 필터 메서드에 대한 콜백 함수를 배열의 각 값에 대한 테스트로 생각할 수 있습니다. 값이 테스트를 통과하면(return true
) 새 배열로 수락되고 그렇지 않으면 컷오프됩니다. .개발자가
.filter()
메서드를 호출할 때 콜백 함수를 작성하는 것을 자주 볼 수 있지만 수행 중인 테스트가 광범위한 경우 별도로 함수를 생성할 수도 있습니다. 아래 예에서 둘 다 보여드리겠습니다.*편집: 콜백 함수가 명시적으로
true
또는 false
를 반환할 필요는 없지만 1과 같은 truthiness
값 또는 0을 좋아하는 falsiness
값을 반환할 필요가 없다는 추가 메모를 제공한 Jon Randy에게 감사드립니다.예시:
const randomNumbers = [2, 71, 828, 18, 28, 459, 04, 523, 53, 602, 87, 47, 13, 526, 62, 49, 77, 57, 24, 70, 93]
function isEven(number) {
return number % 2 === 0;
}
const filteredForEven = randomNumbers.filter(isEven);
const filteredForOdd = randomNumbers.filter( number => !isEven(number));
console.log(filteredForEven); // [2,828,18,28,4,602,526,62,24,70]
console.log(filteredForOdd); // [71,459,523,53,87,47,13,49,77,57,93]
console.log(randomNumbers); // [2,71,828,18,28,459,4,523,53,602,87,47,13,526,62,49,77,57,24,70,93]
위의 예에서
randomNumbers
라는 배열이 있습니다(이 숫자의 출처를 알고 있다면 보너스 포인트... :D). 우리는 .filter()
를 호출했습니다. 또한 전달한 숫자가 짝수인지 테스트하기 위해 isEven
라는 함수를 정의했습니다.보시다시피
randomNumbers
배열에서 짝수를 필터링할 때 괄호 없이 콜백 함수의 이름만 입력하면 결과에 짝수만 포함된 새 배열이 표시됩니다.홀수를 필터링할 때 콜백 함수로 사용할 새 함수를 만드는 대신
.filter()
안에 화살표 함수로 함수를 작성했습니다. > 그렇지 않은 경우 새 배열에 넣습니다(느낌표 !는 NOT에 대한 JS입니다).요약
배열.프로토타입.필터():
isEven
또는 true
로 평가되어야 합니다. 이 방법에 대한 자세한 내용은 MDN - Mozilla의 공식 문서를 확인하십시오.
끝까지 읽으셨다면 읽어주셔서 감사하고, 오류나 피드백이 있으면 댓글로 남겨주세요.
Reference
이 문제에 관하여(JavaScript 배열 메서드 - 필터링), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/justtanwa/javascript-array-methods-filtering-1k3p텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)