Filter and display products under 25

HTML

<!DOCTYPE html>
<html lang="zh-Hant">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>商品列表 - 版本5 事件與篩選</title>
<link href="https://cdn.jsdelivr.net/npm/daisyui@4.12.10/dist/full.min.css" rel="stylesheet" type="text/css" />
<script src="https://cdn.tailwindcss.com"></script>
</head>
<body class="p-6 bg-gray-100">

<h1 class="text-2xl font-bold mb-4">篩選商品 (價格 < 25 元)</h1>
<button id="filterBtn" class="btn btn-secondary mb-4">顯示價格 < 25 元商品</button>

<div id="productList" class="grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-3 gap-6"></div>

<script>
const products = [
  { name: "商品 A", price: 20, desc: "平價好物", img: "https://picsum.photos/300/200?21" },
  { name: "商品 B", price: 30, desc: "人氣熱銷", img: "https://picsum.photos/300/200?22" },
  { name: "商品 C", price: 15, desc: "超值特惠", img: "https://picsum.photos/300/200?23" },
];

const container = document.getElementById("productList");
const filterBtn = document.getElementById("filterBtn");

function render(list){
  container.innerHTML = "";
  for(let i=0;i<list.length;i++){
    const p = list[i];
    container.innerHTML += `
      <div class="card bg-base-100 shadow-xl">
        <figure><img src="${p.img}" alt="${p.name}"></figure>
        <div class="card-body">
          <h2 class="card-title">${p.name}</h2>
          <p>${p.desc}</p>
          <p class="text-red-500 font-bold">價格:${p.price} 元</p>
          <div class="card-actions justify-end">
            <button class="btn btn-primary">加入購物車</button>
          </div>
        </div>
      </div>
    `;
  }
}

// 初始顯示全部
render(products);

// ✅ 篩選事件:只顯示價格 < 25 元
filterBtn.addEventListener("click", function(){
  const filtered = [];
  for(let i=0;i<products.length;i++){
    if(products[i].price < 25){   // 條件判斷
      filtered.push(products[i]);
    }
  }
  render(filtered);
});
</script>

</body>
</html>