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 --查询数组中值的下标
-1
slice
*/
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];
//只要数组中一项满足某个条件,结果就是true
var 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 e
console.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>