1、concat()
合并数组,变为一个全新数组
let arr=[1,2,3]
let arrs=[4.5]
let arrList=arr.conant(arrs) //合并为一个数组
console.log(arrList)
2、reverse()
翻转数组,倒序
let arr=[1,2,3]
console.log(arr.reverse()) //[3,2,1]
3、splice()
可截取数组,可添加数组,可替换数组
let arr=[1,2,3]
//截取数组
arr.splice(index,num)
//index 从第几个开始(下标)
//num 截取的个数
//添加
arr.splice(index,0,"新添值")
//index 替换第几个
//替换
arr.splice(index,num,"替换内容")
//index 从第几个开始(下标)
//num 截取的个数
4、sort()
数组排序
let arr=[3,7,2,6]
//一般只用于数字排序
console.log(arr.sort())
5、join()
将数组中的所有元素转化为一个字符串并返回。
let arr=[1,2,3]
console.log(arr.join())//1,2,3
6、slice()
返回指定开始和结束索引之间的元素的新数组
const arr = [1,3,5,6,7];
console.log(arr .slice(0, 3)); // [ 1, 3, 5 ]
7、push()
向数组末尾添加一个或多个元素,并返回新数组的长度。
let arr=[1,2,3]
arr.push(4)
8、pop()
删除数组最后一个元素,并返回该元素的值。
let arr=[1,2,3]
arr.pop()
9、shift()
删除数组第一个元素,并返回该元素的值。
let arr=[1,2,3]
arr.shift()
10、unshift()
向数组开头添加一个或多个元素,并返回新数组的长度。
let arr=[1,2,3]
arr.unshift()
11、indexOf() 与 lastIndexOf()
indexOf:返回指定元素在数组中首次出现的位置索引,如果没有,则返回-1
lastIndexOf:返回指定元素在数组中最后一次出现的位置索引(与indexOf相反,从后向前)
let arr = ['a', 'b', 'c']
//参数1:查找的元素。参数2:查找的起始下标
const a1 = arr.indexOf('a')
console.log(a1) // 0
const a2 = arr.indexOf('a', 1)
console.log(a2) // -1
const a3 = arr.indexOf('a', -1)
console.log(a3) // -1
12、filter()
返回数组中所有满足测试函数条件的元素组成一个新数组
let arr=[1,2,3,4,5,6,7,8]
//第一张写法
let list=arr.filter((item,index)=>{
//item数组的每一项,index数组的下标
if(item%2==0){
return item
}
})
//第二种简写
let list=arr.filter(item=>item%2==0)
console.log(list)
13、map()
对数组中的每个元素执行一个处理函数,并将结果组成一个新数组返回
let arr=[1,2,3,4,5,6,7,8]
//第一张写法
let list=arr.map((item,index)=>{
//item数组的每一项,index数组的下标
return item*2
})
//第二种简写
let list=arr.map(item=>item*2)
console.log(list)
14、forEach()
对数组中的每个元素循环一次,可处理数组
const arr=[1,2,3,4]
arr.forEach((item,index)=>{
//item数组的每一项,index数组的下标
item=item*2
})
console.log(arr)
15、find()
返回通过测试(函数内判断)的数组的第一个元素的值,找到了则返回true
let arr = [23,24,50]
let res = arr.find((val,index,arr)=>{
return val >30
})
console.log(res) //返回:50
16、every()
判断数组中的所有元素是否都满足一个条件
let arr=[1,2,3,4]
arr.every(function(item, index, arr){
//item数组每一项,index下标,arr数组
// 检查的条件
return item>0
});
17、some()
判断数组中是否至少有一个元素满足一个条件
let arr = [1,2,3,4,5];
let result = arr.some((item)=>{
return item > 5;
})
//false
18、flat()
将嵌套多层数组降维为一维数组
let arr=[[1,2],3,[4]]
let result=arr.flat(1)//结构几层,Infinity有几层解构几层
console.log(result)
19、includes()
判断数组是否包含一个指定的值
let arr=[1,2,3,4];
arr.includes(2); // 返回值为true
20、from()
从类数组对象或可迭代对象创建一个新的数组
let array = {
'0': 'a',
'1': 'b',
'2': 'c',
};
// ES6的写法
let arr = Array.from(array); // ['a', 'b', 'c']
21、reduce()
这个方法和迭代方法(map,filter,forEach...)一样,都会对数组进行遍历
参数为:
1.prev:上次调用函数的返回值
2.cur:当前元素
3.index:当前元素索引
4.arr:被遍历的数组
let arr=[1,2,3,4]
//未默认值
arr.reduce((prev,cur,index,arr)=>{
return prev+cur
})
//有默认值,第二个参数为默认值
arr.reduce((prev,cur,index,arr)=>{
return prev+cur
},10)