lodash에서 findLast()에 대하여 알아봅니다.
lodash의 findLast()는 Collection 또는 Array에서 원하는 값을 찾아
뒤에서부터 반환합니다. 여기서 뒤에서 부터 반환하는 점이 차이점으로 그 외는 find()와 동일합니다.
_.findLast(Collection, { 찾을조건 }, 찾을순서);
_.findLast(Collection, [ 찾을조건 ], 찾을순서);
이처럼 인자에 Collection을 선택하고 찾을 조건을 설정합니다.
찾을 순서는 옵션값으로 설정하지 않아도 되지만 만약 설정하면 Collection에서 그 값만큼 Index 값에서 제외하고 찾게됩니다. 즉 찾을순서를
3이라고 설정하면 0, 1, 2, 3은 제외하고 나머지 대상에서 찾는다는 의미입니다.
참고로
뒤에서부터 반환한다는 의미는 만약 여러개가 있는 경우에 하나를 찾는다면 뒤에서부터 찾는.. 즉 찾는 순서가 다르다는 점입니다. 그럼 어떻게 동작하는지 아래에서 알아보세요.
# lodash의 findLast() 예제보기
아래와 같이 sites라는 collection 값이 있는 경우 여기서 일치하는 하나의 값을 찾아보도록 하겠습니다.
var sites = [
{ no: 3, name: 'web', type: 'a' },
{ no: 2, name: 'is', type: 'b' },
{ no: 3, name: 'free', type: 'c' }
];
변수 sites에는 no:3인 값이 두 개 있는데 no가 3인 값을 찾는 경우 아래와 같이 결과가 나타나게됩니다.
_.findLast(sites, {no: 3});
// 아래는 결과
{ no: 3, name: "free", type: "c" }
이처럼 맨 아래부터 찾아서 반환하므로 맨 마지막의 값을 반환하게 됩니다. 그렇다면 find()로 찾았다면 어떻게 되었을까요?
_.find(sites, {no: 3});
// 아래는 결과
{ no: 3, name: "web", type: "a" }
보시는 것처럼 no가 3인 값을 찾았으나 위에서부터 찾은 값을 반환하게 됩니다.
# 배열에서 _.findLast() 예제보기
배열에서도 원하는 값을 찾을 수 있습니다. 만약 [1,2,3] 에서 3의 값을 찾는다면 아래처럼 사용합니다.
_.findLast([1,2,3], function(item) { return item === 3 })
// 반환되는 값
3
이처럼 3을 찾아 반환하게됩니다.
Lodash find() 알아보기 >
https://webisfree.com/2018-07-28/lodash-find()-객체-값-찾기