1. 增加
push();unshift();concat();splice(index,0,...value) //从某个下标的前面增加
1-1 从后增加
<script>// 从后增加var arr = [1,2,3];arr.push(4);arr.push(5,6);arr.push([7,8,9]);console.log(arr)</script>
1-2 从前增加
<script>var arr = [1,2,3];arr.unshift(0);console.log(arr);</script>
1-3 concat
特点:1.支持添加多个值2.支持数组<script>var arr = [1,2,3];var b = arr.concat([4,5]);console.log(b);console.log(arr);var test = [6,7,8]test.push([4,5]);console.log(test)</script>
1-4 splice
<script>var arr = [1,3,4];arr.splice(1,0,2);console.log(arr)</script>
2. 删除
pop();从后shift();从前trim();删除字符串前后的空格splice(index,howmany,value);----index--从下标开始删除----howmany--删除多少个----value---替代的值
<script>var arr =["html","css","javascript"];arr.splice(1,1,"vue");console.log(arr)</script>
3.splice(删除、添加)
<script>/*从下标前面增加*/var arr =[3,4,5,6];/* splice(index,0,value)*/arr.splice(2,0,"html","css");console.log(arr);</script>******var arr =[3,4,5];/*[2,3,"vue",5]arr.splice(index,hoemany,...value)*/arr.splice(2,1,"vue");console.log(arr)
4. 查询(indxOf / slice / includes)
indexOf();slice(startIndex,endIndex)includes() //判断数组是否包含某个值*******var arr = [4,5,6];console.log(arr.includes(5));console.log(arr.includes(8));
<script>/* 、indexOf --查询数组中值的下标-1slice*/var arr = [2,3,4,5,6];var test = arr.slice(1,3)/* slice(startIndex,endIndex)tips:不包含结束的下标*/console.log(test)</script>
<script>/*includes可以判断数组是否包含某个值*/var arr = [4,5,6];console.log(arr.includes(5));console.log(arr.includes(8));</script>
5. 其他
a. join(将数组拼接成字符串)
var arr =["html","css","js"];/* join(seprate) --->可以将数组拼接成数字符*/;console.log(arr.join(""))console.log(arr.join("|"));console.log(arr.join(" "));console.log(arr.join("*"));console.log(typeof( arr.join("")));
b. sort(升序,降序)
<script>var arr =[12,3,5,11,1];var newArr =arr.sort(function(a,b){/*数据从小到大*/return a-b;})/* 降序*/var c =[45,12,26,36,5]var test =c.sort(function(a,b){return b-a;})console.log(newArr);console.log(test);</script>
示例:
<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;// })arr.sort(function(a,b){return b.distance-a.distance;})console.log(arr);</script>
c. 求和(reduce)
tips:只能对简单的值求和
<script>var arr =[1,2,3];var sum = arr.reduce((a,b)=>{return a+b;})console.log(sum)</script>
d.reverse(改变数组的结构 倒叙)
<script>var arr = ["html","css","js"];arr.reverse();console.log(arr) --//*["js","css","html"]</script>
e. for in/for of
<script>// var arr = ["html","css","js"];// for (var key in arr){// console.log(key)//key 获取的是数组的下标// console.log(arr[key])// }var test =[{name:"肯德基",price:100,distance:100},{name:"必胜客",price:200,distance:500},{name:"华莱士",price:50,distance:1000}]for (var k in test){console.log(test[k].name) //对象的属性}</script>
<script>var arr = [2,3,4];for(var value of arr){// console.log(value)console.log(arr.indexOf(value))}</script>
f. forEach(遍历)
<script>var names =[{name:"lisi"},{name:"wangwu"}]names.forEach(function(names){names.like=true})console.log(names)</script>
<script>var arr = ["html","css","js"];arr.forEach(function(item){console.log(item)})var test =[2,3,4];var newArr=[]test.forEach(function(num){console.log(num);newArr.push(num*2)})console.log(newArr)</script>
g. map
<script>var arr =[2,3,4];var res =arr.map(item=>{return item*2})console.log(res)</script>
<script>var arr =[{name:"html",value:"12px"},{name:"css",value:"13px"},{name:"js",value:"14px"},]arr.map(item=>{var value = parseInt(item.value)*2;item.value = value;})console.log(arr)</script>
<script>var arr =[{name:"html",value:"12px"},{name:"css",value:"13px"},{name:"js",value:"14px"},]var nums=[]arr.map(item=>{nums.push (parseInt(item.value)*2);})console.log(nums.join("-"))</script>
h. some/every
<script>//返回值是布尔值var arr = [3,4,5,6];//只要数组中一项满足某个条件,结果就是truevar res =arr.some(item=>{return item>1;})console.log(res);</script>
<script>//every 数组中每一项都满足某个条件var arr =[2,3,4];var res = arr.every(item=>{return item>1;})console.log(res)</script>
i. filter
<script>//只要达到某个条件就会返回一个新的数组var arr = [3,4,5,6];// var res = arr.filter(item=>{// return item>4;// })// console.log(res)var students =[{name:"amy",age:"18"},{name:"tom",age:"11"},{name:"jack",age:"19"},{name:"lisa",age:"22.5"},]var newArr=students.filter(item=>{return parseFloat})</script>
示例.
<input type="text" id="app"><script>var keyword = "a"var students = [{ name: "amy", age: "18" },{ name: "tom", age: "11" },{ name: "jack", age: "19" },{ name: "lisa", age: "22.5" },]var apps = document.getElementById("app");app.onkeydown = function (event) {if (event.keyCode == 13) {var keyword = this.value;console.log(keyword)var newArr = students.filter(item => {return item.name.includes(keyword)})console.log(newArr)}}</script>
j. find
<script>//返回数组中满足某个条件的某个值var arr =[2,3,4];var res =arr.find(item=>{return item ==3;})console.log(res)</script>
k. findIndex
<script>//返回数组中满足某个条件的值的下标var arr=[1,2,3,4]var res=arr.findIndex(item=>{return item==2;})console.log(res)</script>
l. instance of/Array.isArray(检测是否是数组)
var arr =[1,2,3,4];var res ="";console.log(arr instanceof Array) //tru econsole.log(Array.isArray(res)) //flase
示例:
输入谁的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>
