demo:数组方法-商品查询

在这里插入图片描述

    .search{
      width: 600px;
      margin:20px auto;
    }
    input{
      width: 50px;
    }
    table{
      width: 400px;
      border:1px solid #000;
      border-collapse: collapse;
      margin:0 auto;
    }
    th,td{
      border: 1px solid #000;
      text-align: center;
    }
  <div class="search">
   价格查询:
   <input type="text" class="start" />
   -
   <input type="text" class="end" />
   <button class="search-price">搜索</button>
   商品名称查询
   <input type="text" class="product">
   <button class="search-pro">查询</button>
  </div>
  <table>
    <thead>
      <tr>
        <th>id</th>
        <th>商品名称</th>
        <th>价格</th>
      </tr>
    </thead>
    <tbody></tbody>
  </table>
// 利用新增的数组的方法操作数据

var data = [
  {id:1,name:"小米手机",price:3999},
  {id:2,name:"oppo手机",price:999},
  {id:3,name:"三星手机",price:2999},
  {id:4,name:"华为手机",price:4999}
]

// 1 获取相应的元素
var tbody = document.querySelector('tbody');
var search_price = document.querySelector('.search-price');
var start = document.querySelector(".start");
var end = document.querySelector(".end");
var product = document.querySelector('.product');
var search_pro =document.querySelector(".search-pro");

setData(data)

// 2:渲染数据

function setData(arr){
  // 先清空原来tbody里的内容
  tbody.innerHTML = ""
   arr.forEach(value=>{
     var tr = document.createElement('tr');
     tr.innerHTML= `
       <td>${value.id}</td>
       <td>${value.name}</td>
       <td>${value.price}</td>
     `;
     tbody.appendChild(tr);
   })
}

// 3根据价格查询商品
// 当我们点击了按钮,就可以根据我们的商品价格去帅选数组里面的对象

search_price.addEventListener('click',function(){
   var newarr = data.filter(value=>{
     return value.price >= start.value && value.price <= end.value;
   })
  //  把筛选后的数组渲染到页面中
  setData(newarr)
})


// 根据商品名称查找商品
search_pro.addEventListener('click',function(){
  var arr = []
  data.some(value=>{
    if(value.name === product.value){
      arr.push(value)
      return true
    }
  })
  setData(arr)
})
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值