题解 | 数组过滤

数组过滤

https://www.nowcoder.com/practice/46d607f9bf64458daa8798339a7336d0

<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
  </head>
  <body>
    <select name="" id="">
      <option value="0">请选择价格范围</option>
      <option value="1"><100</option>
      <option value="2">100~500</option>
      <option value="3">>500</option>
    </select>
    <ul>
      <li>牛客logo马克杯</li>
      <li>无盖星空杯</li>
      <li>老式茶杯</li>
      <li>欧式印花杯</li>
    </ul>

    <script>
      var cups = [
        {
          type: 1,
          price: 100,
          color: "black",
          sales: 60,
          name: "牛客logo马克杯",
        },
        { type: 2, price: 40, color: "blue", sales: 100, name: "无盖星空杯" },
        { type: 4, price: 60, color: "green", sales: 200, name: "老式茶杯" },
        { type: 3, price: 50, color: "green", sales: 600, name: "欧式印花杯" },
      ];
      var select = document.querySelector("select");
      var ul = document.querySelector("ul");
      // 补全代码

      function filterFun(cups, value) {
        switch (value) {
          case "1":
            return cups.filter((item) => item.sales < 100);
          case "2":
            return cups.filter(
              (item) => item.sales >= 100 && item.sales <= 500
            );
          case "3":
            return cups.filter((item) => item.sales > 500);
        }
      }

      select.onchange = function () {
        ul.innerHTML = "";
        filterFun(cups, select.value).forEach((item, index) => {
          let li = document.createElement("li");
          li.textContent = item.name;
          ul.appendChild(li);
        });
      };
    </script>
  </body>
</html>

全部评论

相关推荐

点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务