반응형
구문(Syntax)
_.filter(collection, predicate)
컬렉션(collection)의 요소를 반복하면서, 술어(predicate)에 대해 모든 요소가 참을 반환하는 새로운 배열을 반환합니다. 술어는 (값, 인덱스|키, 컬렉션)의 세 가지 인수로 호출됩니다.
참고: _.remove와 달리 이 메서드는 새 배열을 반환합니다.
Iterates over elements of collection, returning an array of all elements predicate returns truthy for. The predicate is invoked with three arguments: (value, index|key, collection).
Note: Unlike _.remove, this method returns a new array.
매개변수(Arguments)
- collection (Array|Object): 반복할 컬렉션입니다.
- [predicate=_.identity] (Function): 반복마다 호출되는 함수입니다. (직접 함수를 작성하거나, 다른 lodash 함수의 축약형을 이용할 수 있습니다)
- collection (Array|Object): The collection to iterate over.
- [predicate=_.identity] (Function): The function invoked per iteration.
반환 값(Returns)
(Array): 필터링된 새 배열을 반환합니다.
(Array) : Returns the new filtered array.
예제(Example)
var users = [
{ 'user': 'barney', 'age': 36, 'active': true },
{ 'user': 'fred', 'age': 40, 'active': false }
];
예제 1) 두 번째 인자로 원하는 함수를 직접 작성할 수 있습니다.
_.filter(users, function(o) { return !o.active; });
// users 배열의 객체를 순회하면서 active가 false인 요소들만 포함한 새로운 배열을 리턴합니다.
// 반환값: [{ 'user': 'fred', 'age': 40, 'active': false }]
예제 2) 두 번째 인자로 `_.matches` 함수의 축약형을 함수 대신 이용할 수 있습니다.
_.filter(users, { 'age': 36, 'active': true });
// users 배열의 객체를 순회하면서 age가 36이고 active가 true인 요소들만 포함한 새로운 배열을 리턴합니다.
// 반환값: [{ 'user': 'barney', 'age': 36, 'active': true }]
예제 3) 두 번째 인자로 `_.matchesProperty` 함수의 축약형을 함수 대신 이용할 수 있습니다.
_.filter(users, ['active', false]);
// users 배열의 객체를 순회하면서 active가 false인 요소들만 포함한 새로운 배열을 리턴합니다.
// 반환값: [{ 'user': 'fred', 'age': 40, 'active': false }]
예제 4) 두 번째 인자로 `_.property` 함수의 축약형을 함수 대신 이용할 수 있습니다.
_.filter(users, 'active');
// users 배열의 객체를 순회하면서 active가 true인 요소들만 포함한 새로운 배열을 리턴합니다.
// 반환값: [{ 'user': 'barney', 'age': 36, 'active': true }]
Reference
반응형
'JavaScript > Lodash' 카테고리의 다른 글
[Lodash] _.groupBy() 함수 설명 및 사용 예제/예시 (0) | 2024.01.04 |
---|---|
[Lodash] _.find() 함수 설명 및 사용 예제/예시 (0) | 2023.12.28 |
[Lodash] Lodash란? Lodash 사용 사례 및 설치 방법 소개 (0) | 2021.08.20 |