数组方法
forEach()
作用: 循环遍历数组 可以改变原数组
参数: 回调函数
回调函数参数:
currentValue:必须。当前元素的值
index:可选。当前元素的索引值
arr:可选。当前元素属于的数组对象
返回值: 无
let arr = [1, 2, 3, 4]
arr.forEach((item, index, arr) => {
console.log(item)
item = item + 1 //对于基本类型这样操作不会改变原数组
})
//想要改变原数组可以这样操作
arr.forEach((item, index, arr) => {
arr[index] = item + 1
})
console.log(arr) //[2, 3, 4, 5]
map()
参数: 回调函数
回调函数参数:
currentValue:必须。当前元素的值
index:可选。当前元素的索引值
arr:可选。当前元素属于的数组对象
返回值: 处理后的新数组
let arr = [1, 2, 3, 4]
const arr1 = arr.map((item, idx, arr) => {
return item + 1
})
console.log(arr1) //[2, 3, 4, 5]
filter()
参数: 回调函数
回调函数参数:
currentValue:必须。当前元素的值
index:可选。当前元素的索引值
arr:可选。当前元素属于的数组对象
返回值: 过滤后的新数组
let arr = [1, 2, 3, 4]
const arr1 = arr.filter((item, idx, arr) => {
return item > 2
})
console.log(arr1) //[3, 4]
reduce()
作用: 对数组进行累积操作
参数: 回调函数 initialValue
回调函数参数:
total: 必需 初始值或者计算后的返回值
currentValue:必需。当前元素的值
index:可选。当前元素的索引值
arr:可选。当前元素属于的数组对象
返回值: 进行累加之后结果
let arr = [1, 2, 3, 4]
const total = arr.reduce((total, item, idx, arr) => {
return item + total
}, 0)
console.log(total) //10
reduceRight()
作用: 和reduce方法是一样的,只不过reduceRight是从数组末尾开始累加
let arr = [1, 2, 3, 4]
const total = arr.reduceRight((total, item, idx, arr) => {
console.log(item)
return item + total
}, 0)
console.log(total)
// 4 3 2 1 10
every()
作用: 用来判断数组是否全部符合某个条件,循环到不符合条件的元素时跳出循环,循环结束,返回false,反之全部循环 返回true
参数: 回调函数
回调函数参数:
currentValue:必须。当前元素的值
index:可选。当前元素的索引值
arr:可选。当前元素属于的数组对象
返回值: true 或者 false
let arr = [1, 2, 3, 4]
const arr1 = arr.every((item, idx, arr) => {
console.log(idx)
return item > 0
})
console.log(arr1) //true
some()
作用: 用来判断数组是否存在符合某个条件的值,循环到符合条件的元素时跳出循环,循环结束,返回true,反之全部循环 返回false
参数: 回调函数
回调函数参数:
currentValue:必须。当前元素的值
index:可选。当前元素的索引值
arr:可选。当前元素属于的数组对象
返回值: true 或者 false
let arr = [1, 2, 3, 4]
const arr1 = arr.some((item, idx, arr) => {
console.log(idx)
return item > 0
})
console.log(arr1) //true 只循环一次
find()
作用: 用来在数组中查找符合条件的第一个元素
参数: 回调函数
回调函数参数:
currentValue:必须。当前元素的值
index:可选。当前元素的索引值
arr:可选。当前元素属于的数组对象
返回值:返回符合条件的第一个元素
let arr = [1, 2, 3, 4]
const arr1 = arr.find((item, idx, arr) => {
return item > 1
})
console.log(arr1) //2
findIndex()
作用: 用来查找数组中符合条件的第一个元素的下标
参数: 回调函数
回调函数参数:
currentValue:必须。当前元素的值
index:可选。当前元素的索引值
arr:可选。当前元素属于的数组对象
返回值: 第一个符合条件的元素的下标
let arr = [1, 2, 3, 4]
const arr1 = arr.findIndex((item, idx, arr) => {
return item > 1
})
console.log(arr1) //1