concat()
作用:连接两个或多个数组
返回:不改变原数组,返回一个新的数组
语法:arr.concat(arr1,arr2...arr3)
join()
作用:把数组每一个元素拼接成字符串
返回:不改变原数组,返回一个被连接后的字符串
语法:arr.join(separator)
注意:参数为分隔符,如不传参默认逗号,如不需要符号,要传空字符串
reverse()
作用:反转数组,调转数组元素排列顺序
返回:改变原数组,返回反转后的新数组
语法:arr.reverse()
sort()
作用:用于对数组的元素进行排序
返回:改变原数组,返回重新排序后的新数组
语法:arr.sort(function(a,b){a-b从小到大/a+b从大到小})
注意:要想实现数字排序,必须要传递一个回调函数作为参数来判断排序方式
push()
作用:可在数组的末尾添加一个或多个元素,并返回新的长度
返回:改变原数组,返回添加后的新数组
语法:arr.push(item1,item2, ..., itemX)
unshift()
作用:可在数组的开头添加一个或多个元素,并返回新的长度
返回:改变原数组,返回添加后的新数组
语法:arr.unshift(item1,item2, ..., itemX)
splice()
作用:用于添加或删除数组中的元素
返回:改变原数组,如果删除一个元素,则返回一个元素的数组。 如果未删除任何元素,则返回空数组
语法:arr.splice(index,howmany,item1,.....,itemX)
参数:index 必需。规定从何处添加/删除元素
howmany 可选。规定应该删除多少元素。必须是数字,但可以是 "0"。
shift()
作用:用于把数组的第一个元素从其中删除,并返回第一个元素的值
返回:数组原来的第一个元素的值(移除的元素)
语法:arr.shift()
pop()
作用:用于删除数组的最后一个元素并返回删除的元素
返回:返回删除的元素
语法:arr.pop()
map()
作用:映射数组(将数组每一个元素处理之后,得到一个新数组)
返回:返回删除的元素
语法:let res = arr.map( (元素,下标)=>{
return item*0.8
})
filter()
作用与场景 : 筛选数组
经典场景 : 筛选,根据条件筛选数组,将符合条件的元素放入新数组中
语法特点 :
循环执行次数 == 数组长度
回调函数内部return作用
(1)return true : 满足筛选条件,当前元素放入新数组中
(2)return false : 不满足筛选条件,当前元素不放入新数组中
map本身返回值作用
筛选之后的新数组
forEach()
forEach作用与场景 : 遍历数组
类似于for循环遍历数组
语法特点 :
循环执行次数 == 数组长度
回调函数内部return作用
无
forEach本身返回值作用
无
some()
some作用与场景 : 判断数组中是否有满足条件的元素 ( 逻辑或|| )
经典场景 : 非空判断。 多个表单只要有一个是空的,就不能提交
语法特点 :
循环执行次数 != 数组长度
回调函数内部return作用
(1)return true : 循环结束。 找到满足条件的元素,此时some的返回值也是true
(2)return false : 循环继续。没有找到满足条件的元素,如果循环执行完毕还是false,最终some的返回值也是false
some本身返回值作用
return true : 有满足条件的元素
return false : 没有满足条件的元素
every()
every作用与场景 : 判断数组是否所有的元素都满足条件 ( 逻辑与&& )
经典场景 : 开关思想. 购物车全选
语法特点 :
循环执行次数 != 数组长度
回调函数内部return作用
(1)return true : 循环继续。 当前元素满足条件,继续判断. 如果循环执行完毕还是true,则every返回值就是true
(2)return false : 循环结束。当前元素不满足条件。 every的返回值也是false
every本身返回值作用
return true : 全部元素都满足条件
return false : 有元素不满足
findIndex()
(1). findIndex作用与场景 : 找元素下标
* 数组中的元素是值类型: arr.indexOf()
* 数组中的元素是引用类型: arr.findIndex()
(2).语法特点 :
2.1 循环执行次数 != 数组长度
2.2 回调函数内部return作用
(1)return true : 找到了,循环结束。 此时findIn是当前元素下标
(2)return false : 没找到,循环继续。 如果执行完毕还找不到,最终返回固定值-1
2.3 findIndex本身返回值作用
return -1 : 没有
return 下标 : 有
reduce()
第一个参数:回调 (sum,value,index)=>{}
sum : 累加和变量
value:当前元素
index: 当前下标
return : 下一次回调sum的值
第二个参数: sum初始值
* 如果不传,sum默认是第一个元素值
* 一般要传0, 如果不传,空数组的话reduce直接报错
标准写法
let res = arr.reduce( (sum,value,index)=>{
console.log(sum,value,index)
return sum+value
} , 0 )
简写 : let res = arr.reduce( (sum,value)=>sum+value , 0 )