자바스크립트 Array.filter() 메소드
8313 단어 javascriptarray
array.filter()
메서드를 사용하여 사람 배열을 필터링하여 배열의 여성 캐릭터만 찾을 수 있습니다.const people = [
{ name: 'Debbie', gender: 'female' },
{ name: 'Josh', gender: 'male' }
]
필터 방법 작동 방식
filter()
메소드는 배열의 각 요소에 대해 한 번씩 콜백 함수를 호출하고 이 콜백 함수에서 제공되는 테스트를 통과하는 모든 값에 대해 새 배열을 구성합니다.이 함수는 3개의 인수를 취합니다.
여성 값 반환
people.filter(function (currentValue, index, originalArray) {
//decide who should be returned
return currentValue.gender === 'female'
})
원래 배열 제외
사용하지 않는 경우 콜백 함수에서 원래 배열을 제외할 수 있습니다. 무엇을 반환할지 테스트하기 전에 배열에 무언가를 푸시하는 데 사용할 수 있지만 그렇지 않은 경우 간단히 제거할 수 있습니다.
people.filter(function (currentValue, index) {
//decide who should be returned
return currentValue.gender === 'female'
})
현재 값 이름 지정
일반적으로 우리는 currentValue의 이름을 배열의 단수로 지정하므로 이 경우 이름을 person으로 지정해야 합니다.
people.filter(function (person, index) {
return person.gender === 'female'
})
화살표 기능 사용
대신 화살표 기능을 사용할 수도 있습니다.
people.filter((person, index) => {
return person.gender === 'female'
})
색인 및 괄호 제거
인덱스를 사용하지 않기 때문에 제거할 수 있습니다. 화살표 함수에 인수가 하나만 있는 경우 필요하지 않으므로 괄호를 제거할 수도 있습니다.
people.filter(person => {
return person.gender === 'female'
})
대괄호 및 return 키워드 제거
그리고 우리가 반환하는 것은 단지 한 줄이므로 반환과 중괄호를 제거하고 모든 것을 한 줄에 배치하여 매우 짧게 유지할 수 있습니다. 이전 예제만큼 읽기 쉽지 않기 때문에 익숙해지는 데 약간의 시간이 걸릴 수 있지만 많은 사람들이 이 형식을 사용할 것입니다.
사람들의 배열이 모든 사람을 필터링하고 성별이 여성인 사람을 반환한다고 생각하십시오.
people.filter(person => person.gender === 'female')
예시
필터의 가장 큰 장점은 원래 배열을 변경하지 않는다는 것입니다. 따라서
console.log(people)
필터가 새 배열을 생성하므로 여전히 people 배열에서 모든 people을 가져옵니다. 따라서 새 필터를 const에 저장할 수 있습니다.const people = [
{ name: 'Debbie', gender: 'female' },
{ name: 'Josh', gender: 'male' }
]
const women = people.filter(person => person.gender === 'female')
console.log(people) // [{ name: 'Debbie', gender: 'female' },{ name: 'Josh', gender: 'male' }]
console.log(women) // [{ name: 'Debbie', gender: 'female' }]
콘솔에 붙여넣어 직접 확인하고 값을 가지고 놀거나 내가 만든 codepen을 확인하십시오.
더 알아보기
Reference
이 문제에 관하여(자바스크립트 Array.filter() 메소드), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/debs_obrien/the-javascript-arrayfilter-method-2eef텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)