1、forEach()
作用:遍历数组,相当于for循环另一种写法。forEach中不可以使用return。
let arr = [1, 2, 3, 4, 5]
arr.forEach((item, index) => {
//item=数组每项元素,index=元素下标
console.log(item,index)
})
2、filter()
作用:过滤原数组,返回满足条件的新数组。
//需求:求数组中所有的偶数
let arr = [1, 2, 3, 4, 5]
let arr1 = arr.filter(item => {
if(item % 2 == 0) {
return true
} else {
return false
}
})
console.log(arr1) //2, 4
3、every() 逻辑与&& 一假则假
作用:判断数组中所有元素 是否都满足条件
// 判断数组中的元素 是否都是偶数
const arr = [10, 20, 30, 40, 50]
let sum = arr.every(item => {
if(item % 2 == 1){
return true
} else {
return false
}
})
console.log(sum)
// true: 所有元素都满足条件
// false: 有元素不满足条件且剩余的元素不会再进行检测
4、some() 逻辑或|| 一真则真
作用:判断数组中 是否有满足条件的元素
// 判断数组中 是否有奇数
const arr = [10, 20, 30, 40, 50]
let sum = arr.some(item => {
if(item % 2 == 1){
return true
} else {
return false
}
})
console.log(sum)
// true: 有一个元素满足条件,就返回true,且剩余的元素不会再进行检测
// false: 所有元素都不满足条件
5、findIndex()
作用:查找数组中满足条件的第一个元素的下标
// 如果数组中是 值类型 用:arr.indexOf(元素)
// 如果数组中是 引用类型 用:arr.findIndex()
let arr = [
{ name: '小麦', age: 3 }
{ name: '小明', age: 4 }
{ name: '小米', age: 2 }
]
let sum = arr.findIndex(item => {
return item.name == '小米'
})
console.log(sum) //2
//如果没找到目标元素,则返回固定值-1
6、reduce()
作用:循环数组中的每一项进行累计操作
//需求:数组求和
const arr = [1, 2, 3, 4, 5]
let res = arr.reduce((sum, item, index) => {
console.log(sum, item, index)
return sum + item
}, 0)
7、map()
作用:将原始数组中的所有元素,根据条件返回一个全新的数组。
// 数组所有元素*0.8
let arr = [1, 2, 3, 4, 5]
let sum = arr.map((item, index) => {
return item * 0.8
})
console.log(sum) //[0.8, 1.6, 2.4, 3.2, 4]