一、在数组中添加元素
1、在数组末尾添加一个元素
let arr = [a,b,c,d]
arr.push(e)
// arr = [a,b,c,d,e]
2、在数组末尾添加多个元素
let arr = [a,b,c,d]
arr.push(e,f,g)
// arr = [a,b,c,d,e,f,g]
3、在数组开头添加一个元素
let arr = [a,b,c,d]
arr.unshift(e)
// arr = [e,a,b,c,d]
4、在数组开头添加多个元素
let arr = [a,b,c,d]
arr.unshift(e,f,g)
// arr = [e,f,g,a,b,c,d]
5、从下标为二的元素开始删除0个元素,并添加一个元素aaaa
let arr = [a,b,c,d]
arr.splice(2,0,aaaa)
// arr = [a,b,aaaa,c,d]
二、在数组中删除元素
1、删除一个数组开头元素
let arr = [a,b,c,d]
arr.shift()
// arr = [b,c,d]
2、删除最后一个数组开头元素
let arr = [a,b,c,d]
arr.pop()
// arr = [a,b,c]
3、从下标为二的元素开始删除2个元素
let arr = [a,b,c,d]
arr.splice(2,2)
// arr = [a,b]
三、删除并添加
1、从下标为二的元素开始删除2个元素,并添加一个元素aaaa
let arr = [a,b,c,d]
arr.splice(2,2,aaaa)
// arr = [a,b,aaaa]
四、将数组翻转
let arr = [a,b,c,d]
arr.reverse()
// arr = [d,c,b,a]
五、数组排序
1、小到大排列数组
let arr = [1,3,2,4]
arr.sort(function(a,b){
return a-b
})
// arr = [1,2,3,4]
2、大到小排列数组
let arr = [1,3,2,4]
arr.sort(function(a,b){
return b-a
})
// arr = [4,3,2,1]
六、高阶函数操作数组
1、filter过滤
let arr = [1,3,2,4]
let arr2 = arr.filter(n=>{
n>2})
// arr2 = [3,4]
filter解析:
arr.filter(n=>{
n>2})
filter的作用:遍历数组arr,n指每次遍历到的元素
原理:arr.filter的最后结果是返回一个新数组,filter的函数
必须返回一个boolean型,当返回为true时,将此时遍历到的n
加入到新数组,返回为false时,将此时遍历到的n过滤掉,
代码解析:上面的代码中,return的是n>2,所以只有n=3,n=4时
会返回true,arr2 = [3,4]
2、map改变数组元素
let arr = [1,3,2,4]
let arr2 = arr.map(n=>{
n*2})
// arr2 = [2,6,4,8]
map解析:
arr2 = arr.map(n=>{
n*2})
map的作用:遍历数组arr,n指每次遍历到的元素
原理:arr.map的最后结果是返回一个新数组,map的参数是一个函数
必须返回一个值,这个值就是新数组的元素
代码解析:上面的代码中,return的是n*2,所以新数组的元素就是
每次的n*2,而n依次为1,3,2,4,所以arr2 = [3,4]
3、reduce求和
let arr = [1,3,2,4]
let total = arr.reduce(n=>{
pre+n},0)
// total = 10
reduce解析:
total = arr.reduce(pre,n=>{
pre+n},orign)
reduce的作用:遍历数组arr,n指每次遍历到的元素,pre是上一次遍
历的返回值,第一次遍历时pre=orign,orign是指第
一次遍历的pre值
原理:arr.reduce的最后结果是返回一个值,reduce的参数也
是一个函数必须返回一个值,这个值就是下一次遍历的pre值
上面的代码中,return的是pre+n,而n依次为1,3,2,4
所以total = 10
4、Set去重
let arr = [1,3,2,4,4,5,2]
let arr2 = new Set(arr)
// arr2 = [1,3,2,4,5]
Set解析:
arr2 = new Set(arr)
Set的作用:遍历数组arr,去重返回新数组,
原理:new Set(arr)的是返回一个新数组,Set的参数也是一个函数
必须返回一个值,这个值就是下一次遍历的pre值上面的代码
中,return的是pre+n,而n依次为1,3,2,4
所以total = 10
六、番外
splice函数解析
arr.splice(start,num,arr2)
// 其中start为操作的起始元素,num为需要删除的元素个数,
// 不删除则为0,arr2是需要删除后在此位置添加的元素,
// 可以是多个,用‘,’隔开