1.push(尾部添加)
var a = [1, 2, 3]
var b = 4
a.push(b)
console.log('a:'+a); //a:1,2,3,4
2.unshift(头部添加)
var a = [1, 2, 3]
var b = 4
a.unshift(b)
console.log('a:'+a); //a:4,1,2,3
3.pop(尾部删除)
var a = [1, 2, 3]
a.pop()
console.log('a:'+a); //a:1,2
4.shift(头部删除)
var a = [1, 2, 3]
a.shift()
console.log('a:'+a); //a:2,3
5.sort(对数组排序)
var a = [1, 2, 3,5,20,33,12,9,0,-4,-27,88,0]
//直接使用sort,它会先根据最高位数来排序,所以它的排序思路是[-2,-4,0,0,1,1,2,2,3,3,5,8,9]
//但是这不是我们想要的结果
// a.sort()
// console.log('a:'+a); //a:-27,-4,0,0,1,12,2,20,3,33,5,88,9
//往sort里加方法
//如果这个方法小于0,a排在b之前
//如果这个方法等于0,a和b位置不变
//如果这个方法大于0,b排在a之前
// a.sort((a,b)=>a-b)
// console.log("a:"+a);//a:-27,-4,0,0,1,2,3,5,9,12,20,33,88
a.sort((a,b)=>b-a)
console.log("a:"+a);//a:88,33,20,12,9,5,3,2,1,0,0,-4,-27
6.join(分隔)
var a = [1, 2, 3,5,20,33,12,9,0,-4,-27,88,0]
console.log("a:"+ a.join("-"));//a:1-2-3-5-20-33-12-9-0--4--27-88-0
console.log("a:"+ a.join("|"));//a:1|2|3|5|20|33|12|9|0|-4|-27|88|0
console.log("a:"+ a.join("/"));//a:1/2/3/5/20/33/12/9/0/-4/-27/88/0
7.reverse(反转)
var a = [1, 2, 3,5,20,33,12,9,0,-4,-27,88,0]
console.log("a:"+ a.reverse());//a:0,88,-27,-4,0,9,12,33,20,5,3,2,1
8.splice(增删改)
var a = [1, 2, 3,5,20,33,12,9,0,-4,-27,88,0]
//splice(开始,移除个数,[要添加的元素,元素,元素...])
//只填开始参数,那么splice会从索引2开始
console.log("a:"+ a.splice(2));//a:3,5,20,33,12,9,0,-4,-27,88,0
//从索引2开始删除0个并添加你好和999
var b = a.splice(2,0,['你好',999])
console.log("a:"+ a);
9.map(遍历数组返回新数组)
var a = [1, 2, 3,5,20,33,12,9,0,-4,-27,88,0]
var newArr = a.map(function (item,index,a) {
// console.log('index:'+index);
// console.log('item:'+item);
// console.log('a:'+a);
item = 2
return item
})
console.log('a:'+a);//a:1,2,3,5,20,33,12,9,0,-4,-27,88,0
console.log('newArr:'+newArr);//newArr:2,2,2,2,2,2,2,2,2,2,2,2,2
10.forEach(遍历每个元素,没有返回值)
var a = [1, 2, 3,5,20,33,12,9,0,-4,-27,88,0]
var newArr = a.forEach(function (item,index,a) {
// console.log('index:'+index);
// console.log('item:'+item);
// console.log('a:'+a);
item = 2
return item
})
console.log('a:'+a);//a:1,2,3,5,20,33,12,9,0,-4,-27,88,0
console.log('newArr:'+newArr);//newArr:undefined
11.every(对数组每一项进行判断,所有都为true时返回true,有一个false时则直接返回false并停止遍历)
var a = [1, 2, 3,5,20,33,12,9,0,-4,-27,88,0]
//数组里的数全都比-999大所以返回true
console.log('a:'+a.every(i => i > -999));//a:true
//数组里有比0小的数所以返回false
console.log('a:'+a.every(i => i > 0));//a:false
12.some(对每一项判断,有一个满足条件则返回true并停止遍历)
var a = [1, 2, 3,5,20,33,12,9,0,-4,-27,88,0]
//数组里有比80大的数所以返回true
console.log('a:'+a.some(i => i > 80));//a:true
//数组里没有比100大的数所以返回false
console.log('a:'+a.some(i => i > 100));//a:false
13.filter(过滤)
var a = [1, 2, 3,5,20,33,12,9,0,-4,-27,88,0]
//查找比80大的数
console.log('a:'+a.filter(i => i > 80));//a:88
//查找比50小的数
console.log('a:'+a.filter(i => i < 50));//a:1,2,3,5,20,33,12,9,0,-4,-27,0
14.find(查找符合条件的元素,注意:返回的是第一个符合条件的值)
var a = [1, 2, 3,5,20,33,12,9,0,-4,-27,88,0]
var b = a.find(element => element > 20)
console.log(b);//33
15.findindex(返回第一个符合条件的元素索引位置)
var a = [1, 2, 3,5,20,33,12,9,0,-4,-27,88,0]
var b = a.findIndex(element => element > 20)
console.log(b);//5
16.slice(只有一个参数时,返回指定位置到数组末尾的所有项,两个参数时,返回两个下标之间的所有项)
var a = [1, 2, 3,5,20,33,12,9,0,-4,-27,88,0]
//注意下标为5的33没有算进去
console.log(a.slice(2,5));//[3, 5, 20]