js高級—查詢商品案例

  <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-prro">查詢</button></div><table><thead><tr><th>id</th><th>產品名稱</th><th>價格</th></tr></thead><tbody><!-- <tr><td>1</td><td>小米</td><td>2000</td></tr><tr><td>2</td><td>oppo</td><td>999</td></tr><tr><td>3</td><td>榮耀</td><td>1299</td></tr><tr><td>4</td><td>華為</td><td>1999</td></tr> --></tbody></table>
        *{margin: 0;padding: 0;}body{width: 1000px;margin: 0 auto;}.search{text-align: center;/* margin: 0 auto; */}table{padding-top: 20px;width: 1000px;height: 100px;/* border: 1px solid #ccc; */margin:0 auto ; }th,tr,td{border: 1px solid #ccc;text-align: center;height: 50px;}
  <script>//利用數組的方式對數據進行存儲var data = [{id:1,pname: '小米',price :3999},{id:2,pname: 'oppo',price :999},{id:3,pname: '榮耀',price :1299},{id:4,pname: '華為',price :1999} ];//1.獲取相應的元素var tbody = document.querySelector('tbody');//2.把數據渲染到頁面中//forEach()。屬于數組中的方法,第一個參數表示為每個元素,第二個參數為每個元素的索引值,第三個參數為整體元素的表達式//為了方便使用渲染函數,需要先調用一次,將商品渲染setDate(data);//應為篩選后也要進行渲染,此時可以將此步設置為封裝函數function setDate(mydata){//重新渲染數據的時候,先清空tbody原來的數據tbody.innerHTML = '';mydata.forEach(function(value){//測試// console.log(value);//將每個對象放進tbody中去,需要先給tbody創建行 trvar tr = document.createElement('tr'); //已知每個對想的屬性名為value,因此可以利用獲取對象中值的方式進行賦值 例如:value.idtr.innerHTML =  '<td>'+value.id +'</td> <td>'+value.pname +'</td> <td>'+value.price +'</td>';tbody.appendChild(tr);   });}//3.利用判斷查詢商品信息//filter()方法可以用到判斷的效果//首先獲取相應的元素信息var search_price = document.querySelector('.search-price'); var start = document.querySelector('.start');var end = document.querySelector('.end');search_price.addEventListener('click',function(){// alert(1) //測試//定義一個變量名進行數據接受var newDate = data.filter(function(value){// console.log(value);//返回值:  起始價   <= 價格 <=   最終價return value.price >= start.value && value.price <= end.value;    });//    打印變量名//    console.log(newDate);//測試//將篩選完之后的對象渲染到頁面中去//調用渲染函數setDate(newDate);})//4.通過商品名稱查詢,此處的查詢可以利用filter()方法進行書寫,也可以利用以下方式書寫查找//通過some進行查詢,因為some方法查到后直接退出,比較有效率,同時some返回的值為布爾值//首先獲取相關元素var product = document.querySelector('.product');//輸入var search_pro = document.querySelector('.search-prro'); //查詢search_pro.addEventListener('click',function(){//創建一個新的數組用來獲取var arr = [];data.some(function(value){if(value.pname === product.value){// console.log(value); //測試arr.push(value);//只要是滿足條件,就將獲取到的元素添加到新數組中去return true; //return 必須為true}});// 在此調用渲染函數setDate(arr);  //此時的  value.price 中的value形參傳遞的是arr實參對象})</script>

實現效果:

在這里插入圖片描述

為什么最后需要利用some進行查詢:

在這里插入圖片描述在這里插入圖片描述在這里插入圖片描述

因為利用數組的some方法,查詢遍歷,只要返回值結果為true便可結束程序,不需要浪費太多的事件,大大加強了辦事效率

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/248150.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/248150.shtml
英文地址,請注明出處:http://en.pswp.cn/news/248150.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

[Codeforces702F]T-Shirts——非旋轉treap+貪心

題目鏈接&#xff1a; Codeforces702F 題目大意&#xff1a;有$n$種T恤&#xff0c;每種有一個價格$c_{i}$和品質$q_{i}$且每種數量無限。現在有$m$個人&#xff0c;第$i$個人有$v_{i}$元&#xff0c;每人每次會買他能買得起的品質最高的一件T恤(當兩件T恤品質相同時優先買價格…

js高級第二天

構造函數和原型 構造函數和原型 在典型的OOP 的語言中&#xff08;如Java&#xff09;&#xff0c;都存在類的概念&#xff0c;類就是對象的模板&#xff0c;對象就是類的實例&#xff0c;但在ES6之前&#xff0c;JS 中并沒用引入類的概念。ES6&#xff0c;全稱ECMAScript6.0…

操作系統原理之文件系統(第五章)

一、文件 1、?件系統的?戶接?包括?件的命名、類型、屬性和對?件的操作 2、?件命名&#xff1a;所有操作系統都允許?1&#xff5e;8個字?組成的字符串 3、?件擴展名&#xff1a;多數操作系統都?持?件名?圓點隔開分為兩部分&#xff0c;圓點后?的部分稱為?件擴展名…

第三次作業------52李金鎮

---恢復內容開始--- 習題1&#xff1a; **1.初始化一個數據集&#xff0c;包括5-10位同學的成績數據&#xff08;數據類型不限&#xff09;&#xff0c;數據格式如下&#xff1a; **學號 姓名 Java C語言 Python2017XXXX 小白 87 68 922017XXXX 小黃 80 76 832017XXXX 小王 75 …

js高級第三天

原型鏈 作用&#xff1a;提供一個成員的查找機制&#xff0c;或者查找規則含義&#xff1a;由原型所串聯起來的鏈裝結構JavaScript 的成員查找機制(規則) 當訪問一個對象的屬性&#xff08;包括方法&#xff09;時&#xff0c;首先查找這個對象自身有沒有該屬性。如果沒有就查…

為什么大學的計算機老師技術那么厲害,卻不愿意當程序員?

不知道大家有多少是從事跟計算機有關的工作的&#xff0c;每次想到大學時的計算機考試&#xff0c;都能令小小編心驚膽戰呀&#xff0c;各式代碼和計算機語言&#xff0c;真的是很令人頭痛了。不過呢&#xff0c;也有很多大神&#xff0c;大學學著其他的專業&#xff0c;卻在畢…

DDG全家桶之3022

本篇文章主要根據360Netlab新出的DDG分析文檔來復現新變種3022&#xff0c;會涉及部分分析和清除的方法&#xff0c;本篇文章只用于學習交流&#xff0c;為廣大受害者提供清除思路 &#xff0c;請勿用于非法用途&#xff0c;產生一切后果與作者無關 詳情請參考文檔&#xff1a;…

js高級第四天

課程回顧&#xff1a; ? 原型鏈&#xff1a;由原型構成鏈狀結構&#xff0c;提供成員查找機制 ? 繼承&#xff1a;組合繼承&#xff1a;構造函數和原型對象 ? 屬性&#xff1a;調用父構造函數的時候用call改變this指向 ? 方法&#xff1a;父實例對象賦值給子原型對象&a…

d3.js 制作簡單的俄羅斯方塊

d3.js是一個不錯的可視化框架&#xff0c;同時對于操作dom也是十分方便的。今天我們使用d3.js配合es6的類來制作一個童年小游戲--俄羅斯方塊。話不多說先上圖片。 1. js tetris類 由于方法拆分的比較細所以加上了一些備注&#xff08;這不是我的風格&#xff01;&#xff09; c…

Flask中路由系統以及藍圖的使用

一、Flask的路由系統 1.app.route()裝飾器中的參數 methods:當前URL地址&#xff0c;允許訪問的請求方式 app.route("/info", methods["GET", "POST"]) def student_info():stu_id int(request.args["id"])return f"Hello Old b…

js高級第五天

課程回顧&#xff1a; ? 原型鏈&#xff1a;由原型構成鏈狀結構&#xff0c;提供成員查找機制 ? 繼承&#xff1a;組合繼承&#xff1a;構造函數和原型對象 ? 屬性&#xff1a;調用父構造函數的時候用call改變this指向 ? 方法&#xff1a;父實例對象賦值給子原型對象&a…

d3.js 制作簡單的貪吃蛇

d3.js是一個不錯的可視化框架&#xff0c;同時對于操作dom也是十分方便的。今天我們使用d3.js配合es6的類來制作一個童年小游戲–貪吃蛇。話不多說先上圖片。 1. js snaker類 class Snaker {constructor() {this._size 30;this._len 3;this._width 900;this._height 690;th…

js高級第六天

Q課程回顧&#xff1a; ? 閉包&#xff1a;有權訪問另外一個函數的局部變量的函數&#xff0c;作用&#xff1a;延伸變量使用范圍 ? mdn&#xff0c;w3c function fn1 () {var n 3;return function () {console.log(n);} }? 遞歸&#xff1a;函數調用其本身 function f…

Chrome 75 lazy-loading

Chrome 75 & lazy-loading https://addyosmani.com/blog/lazy-loading/ https://chromestatus.com/feature/5645767347798016 Chrome 75 將默認啟用延遲加載功能 自 Chrome 75 起&#xff0c;將原生支持圖片的延遲加載&#xff0c;在代碼中編寫 <img loading"lazy&…

d3.js 實現煙花鮮果

今天在d3.js官網上看到了一個煙花的DEMO&#xff0c;是canvas制作的&#xff0c;于是我想用d3.js來實現它&#xff0c;js代碼只有幾行。好了廢話不多說&#xff0c;先上圖。 1 js 類 因為煙花要有下落的效果&#xff0c;所以里面用到了一些簡單的數學和物理知識來模擬重力&…

阿里Sentinel控制臺源碼修改-對接Apollo規則持久化

改造背景 前面我們講解了如何對接Apollo來持久化限流的規則&#xff0c;對接后可以直接通過Apollo的后臺進行規則的修改&#xff0c;推送到各個客戶端實時生效。 但還有一個問題就是Sentinel控制臺沒有對接Apollo&#xff0c;Sentinel控制臺本來就可以修改限流的規則&#xff0…

第八節:EF Core連接MySql和Sqlite數據庫

。。。 轉載于:https://www.cnblogs.com/yaopengfei/p/11507557.html

Flask--WebSocket

flask websocket websocket原理 Socket&#xff1a; FTP - 文件服務 Django Flask Http - TCP: 1.一次請求 一次響應 斷開 2.客戶端永遠處于主動狀態 3.服務器永遠處于被動狀態 4.Http無狀態 - 在服務器不保存客戶端的信息 5.服務器無法主動找到客戶端 1.輪詢 客戶端向服務器…

jQuery第一天

課程回顧&#xff1a; ? 正則&#xff1a;匹配字符組合模式; ? 創建&#xff1a;var reg1 new RegExp(/abc/); var reg2 /abc/; ? 測試&#xff1a;reg1.test(‘abc’); ? 特殊字符&#xff1a;元字符 ? 邊界符&#xff1a;^&#xff0c;$ ? 字符類&#xff1a;[…

Python學習(一)

一、版本&#xff1a; Python2.X /Python3.x 官方宣布2020 年 1 月 1 日&#xff0c; 停止 Python 2 的更新。 Python3.x不兼容Python2.x  二、安裝&#xff08;以mac 為例&#xff09; MAC 系統一般都自帶有 Python2.x版本 的環境&#xff0c;你也可以在鏈接 https://www.py…