s e o p p o r t . l o g

Today I Learned

조건부 필터링, 중첩 필터링 하기

Seo Ji Won 2024. 3. 20. 22:31

 

카테고리 옵션을 클릭, 언클릭할 수 있는 메뉴의 중첩 필터링 코드이다.

카테고리 클릭시 필터조건이 추가되고, 카테고리 언클릭시는 true로 모든 아이템이 통과된다.

return에서 두 조건이 모두 true인 아이템들만 필터된다.

const filterByCategoryRecipes = filteredRecipes.filter((item) => {
      // 카테고리를 선택했으면 필터조건추가, 아니면 true로 필터링 조건 무시(모든 아이템이 통과)
      const filterByFood = selectedFood ? item.RCP_TYPE === selectedFood : true;
      const filterByCalories = selectedCalorieNumberLevel
        ? item.INFO_CAR <= selectedCalorieNumberLevel
        : true;
      return filterByFood && filterByCalories;
    });
    console.log(filterByCategoryRecipes);
    return filterByCategoryRecipes;
  };