目录
1.会影响原数组
1.1,常用
尾部添加一条数据:数组.push()
尾部删除一条数据:数组.pop()
头部删除一条数据:数组.shift()
头部添加一条数据:数组.unshift()
翻转数组中的元素:数组.reverse()
1.2,排序
字母升序排序:数组.sort()
正序排序: 数组.sort(function(a,b){return a - b})
倒序排序:数组.sort(function(a,b){return b - a})
注:默认排序是按字母升序排序
1.3,截取拼接数组splice(开始索引,截取数量,数据1,数据2,...)
注:数据1之后都是要插入的数据,截取数量写0,就不会截取数组
2.不会影响原数组
2.1,截取数组:数组.slice(开始索引,结束索引)
返回值:新数组
特点:包前不包后
注:不指定结束索引,就是从开始索引截取后面所有数据
2.2,拼接数组:数组.concat(数组)
返回值:新数组
2.3,数组转字符串:数组.join(")
返回值:字符串
2.4,检测是否包含某条数据
顺序检测: 数组.indexOf(数据,开始索引)
倒序检测:数组.lastindexOf(数据,开始索引)
返回值:有就返回对应索引,没有就返回 -1
不写开始索引就是检测所有数据
3.遍历数组
3.1遍历过滤
数组.filter((item,index,arr)=>{return 条件 })
返回值:满足条件的元素组成的新数组
3.2,遍历映射
数组.map((item,index,arr)=>{ return 条件})
返回值:一个数组
3.3,遍历数组
数组.forEach((item,index,arr)=>{})
特点:不用写return
3.4,遍历叠加
数组.reduce((prev, item, index, arr) => {return 返回值;}, init);
返回值:一个数组
注: prev:第一次执行,数组[0] 的值或 init 的值 ;一次后的执行,上一次遍历返回的结果
3.5,遍历检测
3.5.1,是否存在满足条件的元素
数组.some((item,index,arr)=>{return 条件})
返回值:布尔值
3.5.2,是否所有元素都满足条件
数组.every((item,index,arr)=>{return 条件})
返回值:布尔值
3.6,遍历查找
3.6.1,查找满足条件的第一个元素
数组.find((item,index,arr)=>{return 条件 })
返回值:满足条件的第一个数据,没有就是undefined
3.6.2,查找满足条件的第一个元素的索引
数组.findindex((item,index,arr)=>{return 条件})
返回值:对应的索引,没有就是-1
注:
(item, index, arr)=>{}属于回调函数
prev:第一次执行,数组[0] 的值或 init 的值 ;一次后的执行,上一次遍历返回的结果
item : 每一项
index: 索引
arr: 原始数组