遍历
foreach对数组的每个元素执行一次提供的函数
遍历作用,没有返回值,不可以链式调用
array.forEach(callback(currentValue,index,array){
//do something
},this)
变换
-
map创建一个新数组,其结果是该数组中每个元素都调用一个提供的函数后返回的结果
-
reduce对累加器和数组中的每个元素应用一个函数,将其减少为单个值用法
arr.reduce(function(accumulator,currentValue,currentIndex,array),initialValue)
-
reduceRight和reduce方向直行相反
-
filter创建一个新数组,返回通过测试的所有元素
查找
-
some
-
every
-
includes()方法返回在数组是否包含一个给定的值,返回true / false
// arr.includes(searchElement,fromIndex) let arr = [1,2,3,4,5] flag = arr.includes(2,0) //true
-
indexOf方法返回在数组中可以找到一个给定元素的第一个索引,如果不存在则返回-1
//arr.indexOf(searchElement[,fromIndex=0]) let arr = [1,2,3,4,5] arr.indexOf(1) // index = 0
-
lastIndexOf从后往前照 类似于indexOf
-
find方法返回数组中满足提供的测试函数的第一个元素的值
//arr.find(callback[,thisArg]) let arr = [1,2,3,4,5] arr.find(function(ele){ return ele === 4 })
-
findIndex返回数组中满足提供的测试函数的第一个元素的索引,否则返回-1
//arr.findIndex(callback[,thisArg]) let arr = [1,2,3,4,5,3,4] arr.findIndex(function(ele){ return ele === 3 })
删除
-
pop()方法从数组中删除最后一个元素,并返回该元素的值;此方法会改变原数组
-
shift()方法从数组中删除第一个元素,并返回该元素的值;此方法会改变原数组
-
slice()方法返回一个从开始到结束(不包括结束)选择的数组的一部分浅拷贝到一个新数组对象。此方法不会改变原数组
-
splice()方法 ;此方法会改变原数组
let arr = [23,45,3,6,45,78,98] //删除功能 //arr.splice(start,end) arr.splice(1,2) console.log(arr) // [23,6,45,78,98] //插入 //arr.splice(start,0,value1,value2...) arr.splice(4,0,'hello','yyyy') console.log(arr) //[23,6,45,78,'hello','yyyy',98] //替换 //arr.splice(start,end,value1,value2...) //删除的元素个数和插入的新元素个数不必相等 arr.splice(0,1,'replace','function') console.log(arr) ['replace','function',6,45,78,'hello','yyyy',98]
添加
- push会改变原数组
- unshift()将一个或多个元素添加到数组的开头,并返回新数组的长度 ;会改变原数组
- concat()用于合并两个或多个数组。此方法不会改变原数组,而是返回一个新数组
数组转字符串
- join()将数组(或一个类数组对象)的所有元素连接到一个字符串中,不会改变数组
- toLocaleString()返回一个字符串表示数组中的元素
- toString()
- JSON.stringify()
反转数组(直接修改原数组)
arr.reverse()
排序Sort(直接修改原数组)
arr.sort().
将arr中的元素,以字符串方式升序