-
[Lodash] findIndex 개념정리.front-end/Javascript&Typescript 2022. 11. 9. 15:31

요새 회사에서 프로젝트를 하고있는중에 , findindex() 라는 Lodash 라이브러리에 있는 index값을 찾아주는 고마운 함수가 있어서
한번 정리 해보려고 한다.
회사에서 하려고했던건 상품데이터 스큐값안에 'BOX' 라는 값이 있으면 index를 찾아주는거였다
API는 cart > lineitems > physicalItems 이고, 여기서 sku값이 "BOX"인것을 찾아줘서 index가 0보다 크면 상품이 있다는 뜻이고
0보다 작으면 데이터가 없다는 뜻을 말한다. 자바스크립트의 findIndex와 같습니다.
let index = findIndex(cart.lineItems.physicalItems, { sku: "BOX" });상품이 있으면 1이상의 숫자가 뜰것이고 가장 처음에 나오는 인덱싱을 찾아준다.
const itemId = cart.lineItems.physicalItems[index].id!;이런식으로 index값을 넣어줄수도 있다.
let index = findIndex(cart.lineItems.physicalItems, { sku: "BOX" }); // 상품이 있을경우의 로직 if (index !== -1 || index !== undefined || index !== null) { return // 처리할 함수 // } // 상품이 없을경우의 로직 if (index === -1 || index === undefined || index === null) { return // 처리할 함수 // }이런식으로 sku 값이 "BOX" 인 상품이 있고 없을때로 나뉘어서 로직을 짤 수 도있다.
SAMPLE
let users = [ { "name" : "tom" , marriage : "false"}, { "name" : "mike" , marriage : "false"}, { "name" : "john" , marriage : "true"} ] findIndex(users, { 'name': 'john' , marriage: true}); //expect 2 findIndex(users, { 'name': 'Ann' , marriage: true}); // expect -1 // users 배열내에 name Ahn은 없기때문에 -1 을 반환한다.다른 콜백함수 형태도 있어서 , 리액트 및 자바스크립트로 개발할때 데이터의 index를 갖고와서 로직짜기가 쉬운것같다.
'front-end > Javascript&Typescript' 카테고리의 다른 글
[결국은 자바스크립트] 2. 클로저와 스코프 Closure & Scope (0) 2023.06.25 [결국은 자바스크립트] 1. 비동기 처리 다시 파헤쳐보기 (0) 2023.06.21 [Typescript] Interface 와 Type 차이를 정확히 알아보자 (0) 2023.05.10 [JavaScript] 비동기처리 , 동기처리 정리 (0) 2022.10.07 [JavaScript] 자바스크립트 spread syntax (전개구문) (0) 2022.08.30