1. 历史搜索
<!DOCTYPE html><html lang="en"><head><meta charset="UTF-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title></head><body><input type="text" id="input"><h2>历史搜索</h2><div id="app"></div><script>var input = document.getElementById("input");var app = document.getElementById("app");var historys = []// 1.获得输入框的值input .onkeydown=function(event){if(event.keyCode ==13){// 2.只要数组中没有的值同时字符不能为空,才向数组添加if(this.value !="" && historys.indexOf(this.value)== -1){var p= document.createElement("p");p.innerHTML = this.value;app.prepend(p);historys.unshift(this.value);this.value=""console.log(historys)}else{alert("输入的字段不能为空或相同字段")}}}</script></body></html>
搜索历史
<!DOCTYPE html><html lang="en"><head><meta charset="UTF-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title><script src="https://cdn.bootcss.com/jquery/3.4.1/jquery.js"></script></head><body><h2>历史搜索</h2><input type="text" id="app"><div id="container"></div><script>// 1.获取输入框的值var historys =[];$("#app").keyup(function(){if(event.keyCode==13){// 2. 将值添加到一个数组中var value = $(this).val();var template =`<button>${value}</button>`// 只要数组中不包含输入的关键字才向数组添加if(value && !historys.includes(value)){historys.unshift(value);// 3.渲染数据到页面$("#container").prepend(template)$(this).val("")}else{// 4.当输入的值在数组中存在时,让其置于数组首位console.log(value)var index =historys.indexOf(value);var res = historys.splice(index,1);historys.unshift(value);console.log(historys)// ui联动$("container button").eq(index).remove();$("#container").prepend(template)}}})</script></body></html>
2. 求最小值
<script>/* 求最小值 */var arr = [4,6,18,1];/*var min = arr[0]*/var min = arr[0];for(var i=1;i<arr.length;i++){if(min>arr[i]){min = arr[i];}}/*min =4 arr[3]=1*/console.log(min);</script>
3. 增加内容
<script>var arr = [{name:"lisi",age:"12px"},{name:"wangwu",age:"13px"},{name:"zhangsan",age:"14px"}]/*age>24 like true[{name:"lisi",age:24,like:false},{name:"wangwu",age:26,like:true},{name:"zhangsan",age:28,like:true}]*/for(var i=0;i<arr.length;i++){var age = parseFloat(arr[i].age)*2console.log(age)arr[i].age = age;if(age>24){arr[i].like = true;}else{arr[i].like = false;}}console.log(arr)</script>
4.搜索
<script>/* trim去除字符串前后尾的空格 */var str = " fdsf ";console.log(str.trim())</script>
<input type="text" id="input"><script>var searchs = [{spell: "A",citys: [{name: "阿里",id: 1001},{name: "阿拉",id: 1001},{name: "阿克",id: 1001}]}, {spell: "T",citys: [{name: "天下",id: 2001},{name: "天天",id: 2002},{name: "天里",id: 2003}]}]/*input输入 里*/// var arr = [// { name:"天里",id:2003},{name:"阿里",id:1001}// ]var keyword = "里";var arr = [];var input = document.getElementById("input");input.onkeydown = function (event) {if (event.keyCode == 13) {if (this.value != "") {console.log(this.value)var kw = this.value;addCity(kw);console.log(arr);}}}function addCity(keyword) {for (var i = 0; i < searchs.length; i++) {var citys = searchs[i].citys;for (j = 0; j < citys.length; j++) {// console.log(citys[j])if (citys[j].name.includes(keyword)) {arr.push(citys[j]);}}}}</script>
5. 让数组中被搜索的值,至于顶部
<input type="text" id="app"><script>// 让数组中被搜索的值,至于顶部var arr = ["html","css","js","vue","react"]var historys =[];$("#app").keyup(function(event){if(event.keyCode==13){var value = $(this).val();if(arr.indexOf(value)!= -1){console.log(value)var index = arr.indexOf(value);arr.splice(index,1);arr.unshift(value);console.log(arr)}}})</script
6. 升序与降序
<script>var arr =[12,3,5,11,1];console.log(arr.sort())// arr.sort(function(a,b){// return a-b;// })var newArr =arr.sort(function(a,b){return a-b;})var c =[12,14,45,2];var test =c.sort(function(a,b){return b-a;})console.log(newArr)console.log(test)</script>
<select id="mySelect"><option value="price">低价优先</option><option value="distance">距离优先</option></select><script>var arr = [{name:"肯德基",price:100,distance:100},{name:"必胜客",price:200,distance:500},{name:"华莱士",price:50,distance:1000}]/* 根据价格进行升序 --从小到大 */arr.sort(function(a,b){return a.price-b.price;})console.log(arr);/* 根据距离进行降序 --从大到小 */arr.sort(function(a,b){return b.distance-a.distance;})console.log(arr);</script>
II.注意
<script>/* 对象的某个属性是变量,不能使用.。只能使用[] */var obj = {name:"lisi",age:18}var value = "name";console.log(obj.value);console.log(obj[value]);</script>
7. 输入谁的id删除谁
<body><!-- /*input输入框,输入谁的id删除谁*//*1、要获取输入框的值2、根据id的值,获取数组中对应项的下标3、删除*/ --><input type="text" id="app"><script>var arr =[{name:"amy",id:"1001"},{name:"tom",id:"1002"},{name:"jack",id:"1003"},{name:"lisa",id:"1004"},]var app=document.getElementById("app");app.onkeydown = function(event){if(event.keyCode ==13){var id =Number(this.value);var index = arr.findIndex(item=>{return item.id ==id;})if(index!=-1){arr.splice(index,1);}console.log(arr);}}</script></body>
8. 过滤数组并整合
(1)

<script>var obj ={top250:["你好154","他的152"],comingSoon:["防抖456","节流121"],theaters:["放大镜222","防静电666"]}var arr =[];// 1.获取对象中属性的值for(var k in obj){// console.log(obj[k]);// 2.需要将属性的值整合到一个数组arr.push(obj[k][0])}// console.log(arr)var reg =/\d/g;var res =[];// 3.对数组中每一项值,过滤arr.forEach(name=>{var name = name.replace(reg,"");console.log(name)res.push({name})})console.log(res)</script>
(2)

<script>var str =`<span>9.7</span><span >-248人评价</span><br><span>9.5</span><span>-48人评价</span><br><span>9.6</span><span>-508人评价</span>`var arr =str.split("<br>");var reg =/<[^<>]+>/g;var res = arr.map(item=>{return item.trim().replace(reg,"")})// console.log(res)var list=[];res.forEach(item=>{// console.log(item.split("-"))list.push(item.split("-"))})// console.log(list)var sum =[];var rSum =/[^\d]/g;list.forEach(item=>{// console.log(item)sum.push({star:item[0],rating:item[1].replace(rSum,"")})})console.log(sum)</script>
9. 过滤相同值并整合
(1)
<script>var arr = [{name:"lisi"},{name:"html"},{name:"css"},{name:"vue"},{name:"vue"},{name:"html"}]/*var list = ["lisi","html","css","vue"] *//* 1、 list [ ]; */var list = [];arr.forEach(item=>{var {name} = item;if(!list.includes(name)){list.push(name);}})console.log(list)</script>
(2)
<script>var arr ={A:[{city:"武汉"},{city:"广州"}],B:[{city:"深圳"},{city:"广州"}],C:[{city:"上海"},{city:"武汉"}]}/*var citys = ["武汉","广州","深圳","上海"]*/var list = [];for(var key in arr){// console.log(arr[key])list.push(...arr[key]);}var res = [];list.forEach(item=>{var {city}= item;console.log(item)if(!res.includes(city)){res.push(city);}})console.log(res)</script>
